home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ASP Advantage 1993
/
The Association of Shareware Professionals Advantage CD-ROM 1993.iso
/
files
/
utilties
/
boot200
/
boot.doc
next >
Wrap
Text File
|
1993-06-29
|
179KB
|
4,248 lines
BBBBBB OOOOO OOOOO TTTTTT SSSSS YY YY SSSSS
BB BBB OO OO OO OO T TT T SS SS YY YY SS SS
BB BB OO OO OO OO TT SSS YY YY SSS
BBBBB OO OO OO OO TT SSS YYYY SSS
BB BB OO OO OO OO TT SSS YY SSS
BB BBB OO OO OO OO TT ## SS SS YY SS SS
BBBBBB OOOOO OOOOO TTTT ## SSSSS YYYY SSSSS
BOOT.SYS(tm) - Version 2.00
The heavy-duty configuration manager
Developed by
Hans Salvisberg
Documentation by
Hardin Brothers and Hans Salvisberg
Published by
Salvisberg Software & Consulting
Bellevuestr. 18, CH-3095 Berne
SWITZERLAND
_______
____|__ | (R)
--| | |-------------------
| ____|__ | Association of
| | |_| Shareware
|__| o | Professionals
-----| | |---------------------
|___|___| MEMBER
BOOT.SYS - 2 - Version 2.00
BOOT.SYS(tm) and the accompanying programs and documentation are
Copyright (C) 1989, 1990, 1991, 1993 Hans Salvisberg
All rights reserved
BOOT.SYS is a trademark of Hans Salvisberg. Other product and
company names are trademarks of their respective owners.
Acknowledgements
Many thanks to
* our users who have provided encouragement, support, and
many good ideas,
* our beta testers, especially Robin Collins, Jon
Fleming, and Ray Tackett, and many more,
* the great people at JP Software, who have kindly
allowed us to use their beta testing facilities,
* the members of ASP; their help and advice have been
invaluable for getting BOOT.SYS to you
BOOT.SYS was developed using Borland C++, Turbo Assembler, and
Turbo Debugger; Periscope debugger; and Spontaneous Assembly.
Shareware License and Registration
BOOT.SYS is not free and it is not public domain software;
please see the file LICENSE.DOC for details about your license to
try out BOOT.SYS. In short, you may try it out free of charge
for 30 days. If you wish to continue using BOOT.SYS after the
initial 30-day trial period, you must order a registered version;
see the file ORDER.DOC for details. If that file is missing,
type
d:\path\BOOT ORDER
BOOT.SYS - 3 - Version 2.00
Contents
Introduction..........................................5
What BOOT.SYS does...............................5
System Requirements..............................6
User Requirements................................6
Getting Started.......................................7
The READ.ME File.................................7
Preparing A Reboot Disk..........................7
Installation.....................................8
Uninstalling BOOT.SYS...........................11
The User's View......................................12
Sample Menus.........................................14
Setting up CONFIG.SYS...........................14
Setting up AUTOEXEC.BAT.........................18
When you install new software...................19
Working with DOS.....................................21
The DOS= Command and Memory Managers............21
Using F5 and F8 under MS/PC-DOS 6.0.............22
The MS/PC-DOS 6.0 INCLUDE= Command..............22
Running MemMaker, Optimize, Maximize, etc.......23
DR DOS..........................................24
BOOT.SYS Commands....................................25
BOOT.SYS........................................25
BOOT.SYS Parameters.............................25
BOOT.SYS Advanced Parameters....................28
BOOT.1 to BOOT.20...............................31
BOOT.0..........................................32
BOOT.END........................................32
BOOT.#..........................................33
BOOT.?..........................................33
BOOT.A to BOOT.Y................................34
BOOT.Z..........................................34
BOOT.EDIT.......................................35
BOOT.IF.........................................36
BOOT.ELSEIF.....................................39
BOOT.ELSE.......................................39
BOOT.ENDIF......................................39
BOOT.NAME.......................................39
BOOT.OPTION.....................................40
BOOT.REM........................................42
BOOT.RENAME.....................................42
BOOT.SET and Enhanced Commands..................43
BOOT.TOP........................................45
BOOT.SYS - 4 - Version 2.00
Common Sections.................................45
Other CONFIG.SYS Commands............................47
DEVICE=d:\path\PAUSE.SYS........................47
DEVICE=REM......................................48
DEVICE=TOP text.................................48
BOOT.EXE Commands....................................49
BOOT with no Command............................50
BOOT CLEAR......................................50
BOOT COLD.......................................51
BOOT Date or Time...............................51
BOOT HELP.......................................54
BOOT OnceA... ..................................54
BOOT SET........................................57
BOOT TOUCH......................................57
BOOT WARM.......................................59
Named Reboots........................................60
Naming Configurations...........................60
Selecting a Configuration.......................61
Reboot Options..................................62
Using Multiple Configuration Names..............63
Advanced Topics......................................64
Nested Menus vs. Menu Sequences.................64
Using Variables and Conditionals in CONFIG.SYS..65
Using BOOT.SYS to manage LAN workstations.......67
Sample Files, New Ideas.........................68
When Things Go Wrong.................................69
Error Messages and Cures........................69
If You Can't Boot Up After Installation.........72
License and Warranty.................................74
BOOT.SYS - 5 - Version 2.00
Introduction
Thank you for trying BOOT.SYS. We believe that you have selected
the best and most powerful configuration manager available. If
you ever need to change your computer's configuration, BOOT.SYS
will help you. If you have been editing your configuration files
in order to switch from one task to another, BOOT.SYS will speed
up the reboot process and help you avoid the potentially
disastrous results of a careless editing error. And if you keep
multiple versions of your configuration files, BOOT.SYS will
reduce those to a single pair of files that will be easy to
maintain and update.
With BOOT.SYS and its companion programs, you can build menus
that let you choose the proper configuration every time you boot
your computer. Each menu may have up to 20 items, and you may
have up to 25 menus to define different aspects of your system.
BOOT.SYS also lets you design menus based on the hardware in your
computer and the operating system you are using. If you have
more than one computer, you can use BOOT.SYS to create one set of
configuration files for them all and let BOOT.SYS decide which
configuration to use or which menus to display on each.
Whether you are an individual user who needs to juggle two or
more configurations, or a computer support specialist who needs
to maintain configurations on hundreds of computers both on and
off a company network, BOOT.SYS will help you do the job safely
and efficiently.
What BOOT.SYS does
BOOT.SYS takes control of your CONFIG.SYS file. It passes some
commands on to DOS for processing and hides other commands from
DOS. While it has control of your configuration file, BOOT.SYS
can display menus, wait for user input, examine your computer's
configuration, and perform other tests. It can also create
environment variables during CONFIG.SYS processing in all
versions of DOS.
A companion program included in the package, BOOT.EXE, extends
configuration control to your AUTOEXEC.BAT file and the DOS
prompt. In earlier versions of DOS, it creates environment
strings to indicate which menu choices you made during CONFIG.SYS
processing. It can also signal that it's time to perform
periodic activities like backups and monthly reports, reboot your
computer from any batch file or the command line, and instruct
BOOT.SYS how to configure your computer automatically.
BOOT.SYS - 6 - Version 2.00
Unlike other configuration programs, BOOT.SYS doesn't write to
your disk nor does it keep multiple configuration files on your
hard disk. BOOT.SYS performs all of its magic in RAM while your
computer is processing the CONFIG.SYS file. This eliminates all
risks of corrupting the valuable data on your disks. It also
lets you use BOOT.SYS on disk-less PCs.
System Requirements
BOOT.SYS will work with any IBM-compatible computer that uses MS-
DOS or PC-DOS versions 2.11 through 6.0. It will also work with
DR-DOS versions 5.0 and 6.0. BOOT.SYS typically uses less than
200 bytes of DOS memory; under the newest DOS versions it does
not stay resident at all.
BOOT.SYS includes support for color, LCD, and monochrome video
systems. It works with ANSI.SYS or a compatible display driver,
but does not require that you use such a driver.
User Requirements
To set up a computer using BOOT.SYS, you must have a general
understanding of the commands in your CONFIG.SYS and AUTOEXEC.BAT
files and know how to edit those files with an ASCII editor.
This manual will not teach you how to create an effective system
configuration nor will it teach you how to use an ASCII editor.
See your DOS manual or any of the dozens of books that cover
those topics if you need help creating or maintaining your
configuration files.
BOOT.SYS is a powerful utility program for those who need to
manage multiple system configurations. However, you must
understand what configurations you need, and how to create the
necessary commands for each configuration, before you can use
BOOT.SYS effectively.
If you set up computers for others, you will find BOOT.SYS
invaluable. After you have created the necessary menus for your
users, they will be able to select a configuration with a couple
of keystrokes. Your users will never have to worry about
managing multiple copies of CONFIG.SYS and AUTOEXEC.BAT; they
can just run their machines using the menus that you and BOOT.SYS
provide. You can even set up some spare configurations for your
users to tinker with without disturbing the ones you support.
You must, of course, have a separate, licensed copy of BOOT.SYS
for each machine that you use it on.
BOOT.SYS - 7 - Version 2.00
Getting Started
The READ.ME File
One of the files in the BOOT.SYS distribution, READ.ME, contains
information you should read before you begin to install the
program. Put the BOOT.SYS diskette in drive A and type
TYPE a:READ.ME | MORE
to view the contents of the file (you may use drive B if you
prefer). If you want to print a copy of the file, type
COPY a:READ.ME PRN
Preparing A Reboot Disk
It is highly unlikely that you will have any problems when you
install BOOT.SYS. However, whenever you make major changes to
your CONFIG.SYS and AUTOEXEC.BAT files, you should have a reboot
diskette handy. If anything goes wrong, such as a power failure
while you are updating your configuration files, it will be a
simple matter to boot from your emergency diskette and edit the
configuration files on your hard disk. Without a reboot
diskette, an incorrect instruction in a configuration file may
keep your computer from booting up at all.
To create a reboot diskette, format a new diskette in your A
drive with the command
FORMAT A: /S
With older versions of DOS, you will have to copy COMMAND.COM to
the diskette; newer DOS versions will copy it for you. You may
also want to save a copy of your current configuration files on
the diskette, along with a simple ASCII editor that you can use
if you have to edit your configuration files. Depending on your
system, you may need additional drivers and programs for
accessing your disk, for defining a national keyboard layout, or
for utilizing other hardware devices. Some users like to keep
other data and programs on their reboot diskettes, including a
copy of the CMOS memory data (the information that you see if you
run your computer's SETUP program).
After you have prepared your reboot diskette, you should test it:
put the diskette in drive A and reboot your computer to make sure
that the diskette works and that you can edit the CONFIG.SYS and
BOOT.SYS - 8 - Version 2.00
AUTOEXEC.BAT files on your hard disk. The reboot diskette won't
do you any good if it won't boot up your machine.
Once you have a working reboot diskette, you are ready to install
BOOT.SYS.
Installation
The BOOT.SYS installation procedure, which is started by a
program called INSTALL.BAT, serves three purposes. First, it
extracts and decompresses the program files from the condensed
library file in which they are shipped. You must use the
installation program to perform this extraction; other
decompression programs will not work.
Second, the installation program, or Install for short, examines
your current configuration files and suggests a new pair of files
that utilize BOOT.SYS's features; it does not modify your
configuration files. Install can work with your configuration
files if they are in one of three different formats:
* single-configuration setup
Install creates sample configuration files from your current
files to help you get up and running quickly. These sample
files will present a single menu that will let you pick
between your current configuration and a simple, "generic"
configuration.
* MS/PC-DOS 6.0 multi-configuration setup
Install translates your DOS 6 CONFIG.SYS file to BOOT.SYS
syntax. You will get the exact same configurations under
BOOT.SYS, with the additional power of BOOT.SYS to make
further refinements.
* BOOT.SYS multi-configuration setup (any version)
Install examines your CONFIG.SYS file and makes any
necessary changes to adapt it to the syntax required by this
version.
Install can only work correctly if your CONFIG.SYS is in one of
these formats and if it doesn't have any errors in it.
Finally, Install creates documentation based on your system and
original configuration files. The documentation file is stored
on your disk as BOOTINST.LOG. Please read it carefully; it is
an essential part of the BOOT.SYS documentation. The file will
explain what Install has done and what file names it has used.
The BOOTINST.LOG file also will contain a complete listing of
both the suggested configuration files and your originals, along
with a detailed explanation of the changes.
BOOT.SYS - 9 - Version 2.00
Running Install
In the shareware version of BOOT.SYS, Install is called
BOOTINST.EXE, and it is a self-extracting self-installing
archive. You should not have this text unless you've already run
BOOTINST.
To start Install insert the BOOT.SYS distribution diskette into
drive A and type
a:
INSTALL
You may, of course, use drive B if you prefer.
Install will guide you through the installation. For your
information, we list the major steps below, but you should read
the information presented by Install and follow its prompts.
Install will lead you through these major steps:
1. You will be asked to enter the directory where you wish to
store the BOOT.SYS files. We suggest using C:\BOOT and have
based the remainder of this discussion on that suggestion.
If you choose a different directory, you should modify the
following instructions and descriptions appropriately. The
directory does not need to exist before you start the
installation procedure.
If you are upgrading from a previous version of BOOT.SYS, we
suggest you use a different directory to keep the two
versions separate. If you overwrite your old BOOT.SYS files
and for some reason you don't complete the installation and
update your CONFIG.SYS and AUTOEXEC.BAT files, you may not
be able to boot up successfully!
Do not install BOOT.SYS on your distribution diskette!
2. You will be asked to confirm or enter the names of your
configuration files. They are usually called C:\CONFIG.SYS
and C:\AUTOEXEC.BAT.
3. Install will ask you to confirm or enter the commands that
will load the BOOT.SYS executable programs. For most users,
the suggested defaults will be correct. Install goes
through this procedure to allow you to change the drive
and/or path in case you use a program like Stacker which
reassigns your drive letters during execution of CONFIG.SYS
or AUTOEXEC.BAT.
4. Install will create backup copies of your original
configuration files in two places. The names of the backup
BOOT.SYS - 10 - Version 2.00
files will be included in the BOOTINST.LOG file. The backup
files will usually be called c:\config.001
c:\autoexec.001
c:\boot\config.BEF
c:\boot\autoexec.BEF
5. Install next creates suggested configuration files for you.
These files will usually be named
c:\boot\config.AFT
c:\boot\autoexec.AFT
6. Install will offer to print out the installation log, which
is stored as
c:\boot\BOOTINST.LOG
Be sure to print and read this file. It lists the old and new
versions of your configuration files, along with specific
comments customized for your system.
WE CONSIDER THE INSTALLATION LOG TO BE PART OF YOUR
DOCUMENTATION! Install may find errors or potential problems in
your files, or it may make suggestions for improving your files.
The log may also contain specific instructions about how to
proceed.
7. Finally, Install will display a few more informational
screens and then end.
Reboot
We know only too well how some installation programs can mess up
users' configuration files. We have tried our best to make
Install work with all configuration files, but it is possible
that you have an unusual CONFIG.SYS file which we did not
foresee. We rely on you to examine the BOOTINST.LOG file and
then the *.AFT configuration files. Make sure the suggested
configuration files look reasonable before you try to boot up
with them.
If you are satisfied with the *.AFT files, copy them over your
old files like this:
COPY c:\boot\config.AFT c:\config.sys
COPY c:\boot\autoexec.AFT c:\autoexec.bat
and then reboot your computer.
Watch the screen carefully as your computer boots up for any
error messages or other irregularities. You should get the
BOOT.SYS menu and be able to select which configuration you wish
to use. Try each available configuration to make sure it works
as intended.
BOOT.SYS - 11 - Version 2.00
If you don't see the BOOT.SYS menu, please refer to "If You Can't
Boot Up After Installation..." on page 78.
If you see some error messages, but they scroll by too fast to
read, you can try three things:
* If you're using MS/PC-DOS 6.0 use the F8 key (see page 23).
* Press the Pause key to temporarily "freeze" your machine and
then any other key to continue.
Some people claim their PCs are so fast that it's impossible
to catch error messages this way. We have found that we can
read all messages on even the fastest machines using the
following trick: press Pause early in the boot process; put
your thumb on the Enter key and your middle finger on the
Pause key; now hit both keys almost at once, the Enter key
just a fraction of a second before the Pause key, and the
boot process will advance just a little bit. Do this
repeatedly, and with some practice you'll be able to single-
step your CONFIG.SYS and other programs or batch files that
produce scrolling output.
* Use the PAUSE.SYS program to pause execution of CONFIG.SYS
at selected points (see page 50).
Where To Go From Here...
Use your editor to customize your configurations, add new
configurations, and improve the sophistication of your
configuration files by using the advanced features of BOOT.SYS
that are explained in this documentation.
Uninstalling BOOT.SYS
If you wish to uninstall BOOT.SYS, you can either replace
CONFIG.SYS and AUTOEXEC.BAT with the backups that were created
when you installed BOOT.SYS, or you can use your editor to
extract a single configuration to use as your new CONFIG.SYS and
AUTOEXEC.BAT files. Then you can delete the files in the
BOOT.SYS directory. BOOT.SYS does not make any changes to the
boot sector or other vital parts of your disks or DOS.
BOOT.SYS - 12 - Version 2.00
The User's View
When BOOT.SYS is installed on a computer, the user typically sees
two text windows on the screen during the boot process. The
upper window contains messages or any text that you would like to
have displayed. The lower window contains a menu. Depending on
the BOOT.SYS instructions in the CONFIG.SYS file, several menus
may appear sequentially and some menu choices may lead to
submenus.
(We have omitted the screen shot here
because the box characters in the IBM PC
character set do not print well on some
printers. However, this page is repeated at
the end of the file, with the screen shot.)
Sample BOOT.SYS screen
The user may select an item in several different ways. The most
intuitive selection method is moving the highlight or selection
bar to the desired item and pressing the Enter or CursorRight
key. New users often favor this method, but experienced users
prefer a quicker way of making a selection, especially once they
know what to expect from each menu.
BOOT.SYS - 13 - Version 2.00
When you create BOOT.SYS menus, you can designate a quick key for
each menu item. The quick key, which is a character in each menu
item's text, will be highlighted on the screen. Once the quick
keys have been defined, the user need only press the appropriate
key to select a menu item.
Also, each menu item is preceded by a number from 1 to 20. A
user can select an item by pressing a numeric key or a function
key. For menu items 1 through 9, the user can make a selection
by pressing the numerals 1 through 9 or the function keys F1
through F9. The following chart shows the selection keys for
menu items 10 through 20.
Menu Item Numeric Keys Function
Keys
10 0 F10
11 ! (Shift-1) or Shift-F1 or
- (minus) F11
12 @ (Shift-2) or Shift-F2 or
= (equal) F12
13 # (Shift-3) Shift-F3
14 $ (Shift-4) Shift-F4
15 % (Shift-5) Shift-F5
16 ^ (Shift-6) Shift-F6
17 & (Shift-7) Shift-F7
18 * (Shift-8) Shift-F8
19 ( (Shift-9) Shift-F9
20 ) (Shift-0) Shift-F10
The special characters listed here are those on the US keyboard.
If you have a non-US keyboard, your international keyboard driver
will not be loaded before BOOT.SYS displays its menus. Just use
shift-1 through shift-0 in the top row. The minus and equal sign
are the two keys to the right of the 0.
Depending on the state of NumLock, you can use the keys on the
numeric keypad either as cursor keys or for selecting items 1
through 10 (0) (see the /N parameter on page 28 for information
about controlling NumLock). The "shifted digits" cannot be
entered with the numeric keypad.
BOOT.SYS - 14 - Version 2.00
Sample Menus
There are many ways to use BOOT.SYS to control your computer's
configuration. At one extreme, you can have it display a single
menu of 2 or 3 possible configurations. At the other, you can
write a single set of configuration files for all of the
computers on a network. This section demonstrates the basics of
using BOOT.SYS. See page 69 for tips about using the advanced
features built into the package.
Setting up CONFIG.SYS
You can let BOOT.SYS control all or part of your CONFIG.SYS file.
If it controls just part of the file, the commands before and
after the BOOT.SYS section will be executed normally.
The beginning of the BOOT.SYS section of your CONFIG.SYS file
must be marked with the command
DEVICE=d:\path\BOOT.SYS
The "d:" and "\path" in that line are the drive and directory
that contain the BOOT.SYS program. For a complete list of the
parameters or options that can be added to this line, see
page 26.
The last line of the BOOT.SYS section of your CONFIG.SYS file
must be marked with this command:
DEVICE=BOOT.END
Although this looks like a standard DEVICE statement, it really
isn't. You may not include a drive and path. Also, this line
will never be processed by DOS. It is one of the lines that
BOOT.SYS will hide before DOS gets a chance to execute it.
However, the DEVICE= part of the line is necessary to prevent DOS
from generating an error message before it gives control to
BOOT.SYS.
The "DEVICE=BOOT." part of the line defines this as a BOOT.SYS
command. The heart of the line, which begins after the period,
is the name of the command plus any additional information.
Let's assume that you want to create a simple configuration file
with two choices: Windows and DOS. Your CONFIG.SYS file could
look like this, without the line numbers:
BOOT.SYS - 15 - Version 2.00
1. DEVICE=d:\path\BOOT.SYS
2. DEVICE=BOOT.TOP My BOOT.SYS Configuration Menu
3. DEVICE=BOOT.1 &Windows Configuration
4. DEVICE=BOOT.SET BOOT=Windows
5. {commands for Windows configuration}
6. DEVICE=BOOT.2 &DOS Configuration
7. DEVICE=BOOT.SET BOOT=DOS
8. {commands for DOS configuration}
9. DEVICE=BOOT.END
The first and last lines should look familiar. They delineate
the section of the file that BOOT.SYS controls. In this case,
BOOT.SYS is responsible for the entire file.
The second line, which begins DEVICE=BOOT.TOP, creates a message
that will appear in the top window on the screen. You can
display several lines of text, if you wish, with multiple
BOOT.TOP commands.
The third line, DEVICE=BOOT.1, defines the first menu item that
the user will see. The ampersand [&] in front of the "W" in
Windows tells BOOT.SYS that the "W" is a quick key for this menu
choice. The next line, DEVICE=BOOT.SET, creates an environment
variable called BOOT with the value "WINDOWS." This variable can
be used in your AUTOEXEC.BAT file to select commands that you
want to execute there for the Windows configuration (see
page 19).
You would then replace the fifth line with all the CONFIG.SYS
commands you normally use when you want to configure your
computer to run Windows. (We use curly braces to mark comments.)
Lines 6 and 7 are the menu item text and BOOT name for the DOS
configuration. Notice that the "D" in "DOS" in line 6 has been
defined as the quick key. Replace Line 8 with the configuration
commands that you use when you want to boot your computer for use
with DOS applications.
The last line, line 9, tells BOOT.SYS that it has reached the end
of the text that it is supposed to process.
When you save this CONFIG.SYS file and reboot your computer, you
will see two windows on the screen. The top window contains the
text "My BOOT.SYS Configuration Menu." The bottom window
contains a menu with two choices: "1 - Windows Configuration" and
"2 - DOS Configuration." You can make a choice by moving the
selection bar and pressing Enter, by pressing '1' or '2' (or F1
or F2) for the menu option numbers, or by using a quick key, 'W'
or 'D.'
The corresponding AUTOEXEC.BAT file is on page 19.
BOOT.SYS - 16 - Version 2.00
Two Simple Menus
Many times, you may want two or more menus of choices. For
example, you might use one menu to decide whether to install a
RAM disk and the next menu to decide whether to load ANSI.SYS.
Whenever you have more than one menu, you have to tell BOOT.SYS
where each one starts and stops. The command DEVICE=BOOT.A
defines the beginning of the first menu, while DEVICE=BOOT.B
defines the start of the second menu. You can create up to 25
menus in this manner. The last menu, whatever its letter, must
be terminated with the command DEVICE=BOOT.Z.
This sample CONFIG.SYS file has two menus, each with 2 choices:
DEVICE=d:\path\BOOT.SYS /T5
DEVICE=BOOT.A /D2
DEVICE=BOOT.TOP Do you want a RAM disk?
DEVICE=BOOT.1 &No
DEVICE=BOOT.2 &Yes, 64K RAM Disk
DEVICE=C:\DOS\RAMDRIVE.SYS 64K
DEVICE=BOOT.B /D1
DEVICE=BOOT.TOP Do you need ANSI.SYS?
DEVICE=BOOT.1 &No
DEVICE=BOOT.2 &Yes, install ANSI.SYS
DEVICE=C:\DOS\ANSI.SYS
DEVICE=BOOT.Z
DEVICE=BOOT.END
This example demonstrates several BOOT.SYS features. In the
first line, the /T5 parameter instructs the program to wait 5
seconds for a user response to each menu. If the user doesn't
respond, the program will select the default menu item and then
continue.
The second line, DEVICE=BOOT.A /D2, defines the beginning of menu
A, the first menu that the user will see. The /D2 parameter sets
the second menu choice as the default. The selection bar will be
on that choice when the menu is displayed, and that choice will
be selected automatically if the user does not respond within the
time-out period.
The following four lines define a 2-choice menu, just as in the
first example, and the action that should be taken if the user
selects the second choice. In this menu, there aren't any
actions for the first choice, no RAM disk.
The second menu begins with the line DEVICE=BOOT.B /D1. It
defines the first choice as the default item. In this case, the
BOOT.SYS - 17 - Version 2.00
/D1 isn't strictly needed, since BOOT.SYS will select the first
item as the default unless you specifically name a different one.
However, the /D1 makes the operation of the menu easier for human
readers to understand and edit if you decide to change the
default. The remainder of the second menu follows the same
structure as the first.
The line DEVICE=BOOT.Z defines the end of the last menu.
Similarly, the line DEVICE=BOOT.END defines the end of the
section of CONFIG.SYS that BOOT.SYS controls.
Nested Menus
In a series of menus, like those in the last example, the order
and number of menus never changes and the menus are independent
of each other. BOOT.SYS also lets you use another kind of menu:
submenus. If the user picks a specific menu choice, a new series
of menus appears based on the choice. Submenus can even lead to
their own submenus. The only restriction is that not more than
25 menus can appear on the user's screen during BOOT.SYS
execution. It doesn't matter to BOOT.SYS whether those menus are
arranged in a series, as submenus, or as a combination of both.
In the previous example, every time the user chooses to install a
RAM disk, that disk will be 64K bytes long. This next example
uses submenus to let the user choose the size of the RAM disk and
whether COMMAND.COM should be copied to the RAM disk for more
efficient operation at the DOS prompt.
DEVICE=d:\path\BOOT.SYS /T5
DEVICE=BOOT.A /D2
DEVICE=BOOT.TOP Do you want a RAM disk?
DEVICE=BOOT.1 &No
DEVICE=BOOT.2 &Yes, RAM Disk
DEVICE=BOOT.A /D1
DEVICE=BOOT.TOP What size RAM disk do you need?
DEVICE=BOOT.1 64K?
DEVICE=c:\dos\RAMDRIVE.SYS 64
DEVICE=BOOT.2 128K?
DEVICE=c:\dos\RAMDRIVE.SYS 128
DEVICE=BOOT.B /D1
DEVICE=BOOT.TOP Do you want to copy
DEVICE=BOOT.TOP Command.Com to the RAM disk?
DEVICE=BOOT.1 Yes
DEVICE=BOOT.SET Copy_CC=Y
DEVICE=BOOT.2 No
DEVICE=BOOT.Z
DEVICE=BOOT.B /D1
DEVICE=BOOT.TOP Do you need ANSI.SYS?
DEVICE=BOOT.1 &No
DEVICE=BOOT.2 &Yes, install ANSI.SYS
BOOT.SYS - 18 - Version 2.00
DEVICE=c:\dos\ANSI.SYS
DEVICE=BOOT.Z
DEVICE=BOOT.END
As this example shows, it is easy to create submenus. The
sequence of DEVICE=BOOT.A through DEVICE=BOOT.Z commands defines
a menu or series of menus. If this sequence is inserted as part
of the activity that occurs for a particular menu choice, a
submenu is created. BOOT.A can be preceded, and BOOT.Z can be
followed, by DOS and/or BOOT.SYS commands that will be executed
regardless of the submenu choice the user makes.
This example also shows one other interesting wrinkle. There is
no way to copy COMMAND.COM to a RAM disk during CONFIG.SYS
operations. Instead, the command DEVICE=BOOT.SET Copy_CC=Y is
used to create an environment variable called COPY_CC. In your
AUTOEXEC.BAT file, you could then include the following lines to
actually copy the file and make the copy the active command
processor:
IF "%COPY_CC%"=="Y" COPY c:\dos\COMMAND.COM d:
IF "%COPY_CC%"=="Y" SET COMSPEC=d:\COMMAND.COM
There are several other BOOT.SYS techniques that you will find
handy for complex menu systems. See the reference section of
this manual, beginning on page 26, and the chapter called
Advanced Topics for more details about them.
Setting up AUTOEXEC.BAT
Once you have BOOT.SYS set up in your CONFIG.SYS file, you'll
probably want to pass information about the user's choices to
AUTOEXEC.BAT for further processing. For example, if you choose
between DOS and Windows configurations in CONFIG.SYS, you may
want to load either a DOS shell or Windows in AUTOEXEC.BAT.
BOOT.SYS communicates with your AUTOEXEC.BAT file via environment
variables that you define in CONFIG.SYS with the DEVICE=BOOT.SET
command. If you use MS/PC-DOS 6.0 or DR DOS, you can also use
the standard SET command in CONFIG.SYS to create environment
variables. See page 46 for a discussion of the minor differences
between these two commands.
The DEVICE=d:\path\BOOT.SYS command in CONFIG.SYS has a
counterpart in AUTOEXEC.BAT:
d:\path\BOOT.EXE SET
or BOOT SET for short -- do not confuse this with
(DEVICE=)BOOT.SET! Under DOS versions that don't support SET in
CONFIG.SYS, BOOT SET reads the environment variables that
BOOT.SYS - 19 - Version 2.00
BOOT.SYS placed in resident memory and copies them into the
environment. But BOOT SET performs other house keeping tasks as
well, and YOU MUST HAVE IT AT THE BEGINNING OF YOUR AUTOEXEC.BAT
FILE UNDER ALL VERSIONS OF DOS.
The example CONFIG.SYS file on page 15 above sets the variable
BOOT to WINDOWS, if the user wants to configure the computer for
Microsoft Windows, or to DOS, if the user wants to run DOS
applications. Here is a companion AUTOEXEC.BAT file that uses
the variable to continue the configuration process:
@ECHO OFF
d:\path\BOOT SET
IF ERRORLEVEL 255 GOTO No_BOOTSYS
GOTO %BOOT%
:No_BOOTSYS
ECHO BOOT.SYS was not properly installed
GOTO END
:DOS
{DOS configuration commands go here}
GOTO END
:Windows
{Windows configuration commands go here}
GOTO END
:END
After the standard @ECHO OFF, this AUTOEXEC.BAT file begins with
the BOOT SET command. If that command returns an Errorlevel of
255, BOOT.EXE could not find any trace of BOOT.SYS, which usually
means something went wrong in CONFIG.SYS. In this example, the
batch file recovers from the error by jumping to the label
No_BOOTSYS, where it displays an error message and then ends.
Because the No_BOOTSYS section is placed immediately after the
GOTO command, that section will also be executed if the GOTO
command fails, perhaps because of a spelling error in the
variable value or the batch file's labels. It's a good idea to
organized batch files this way so you can see right away when
something goes wrong.
If BOOT SET was successful, the next line branches to the label
%BOOT%. The batch file interpreter will look up the environment
variable called BOOT, and substitute its text in place of %BOOT%.
Then it will jump to the label that you defined with BOOT.SYS.
In this case, that label will be either DOS or Windows. The
lines following each label are responsible for finishing the
appropriate configuration and initialization.
BOOT.SYS - 20 - Version 2.00
You can define any number of variables (subject to a 2K bytes
limit under MS/PC-DOS 5.0 and earlier) and they will all be
transferred to the DOS environment. If you want to release the
environment space they use, you can, of course, use the DOS SET
command like this:
SET name=
When you install new software
Many application programs have installation routines that help
neophyte users configure their computers correctly. These
routines typically install the application in its own
subdirectory and then update the CONFIG.SYS and AUTOEXEC.BAT
files to make the program run most efficiently.
Unfortunately, these programs know nothing about BOOT.SYS or
carefully crafted configuration files. When some installation
routines become confused, they can scatter extraneous commands
throughout your configuration files and create all sorts of
damage; some even purposely remove commands for loading
competing products.
Installing a new application safely, especially when you are
using BOOT.SYS or any unusual commands in your configuration
files, is a 3-step process. First, make sure that you have saved
a copy of your CONFIG.SYS and AUTOEXEC.BAT files. If something
goes wrong during the installation, it will be a simple matter to
restore the files from the copies and reboot. If you don't have
backup copies, you may have to spend hours reconstructing your
carefully tuned configuration files.
Before you start the installation program, rename your
configuration files. Once you have done so, the installation
program will not be able to find them. Instead, it will probably
create new CONFIG.SYS and AUTOEXEC.BAT files. It will put the
commands that it requires in those new files.
After the program is installed, you can examine the new
configuration files and see what commands the application wants.
You can then use those files as a guide for creating a
configuration in your original files for the new application or
adjusting one or more of your existing configurations. Don't
forget to give your configuration files their original names
before rebooting.
You can avoid some of this work if you are willing to patch two
system files and change DOS's names for CONFIG.SYS and
AUTOEXEC.BAT. This technique is not for the faint of heart! If
you are reluctant to patch IO.SYS (or IBMBIO.COM) and
COMMAND.COM, don't do it. But if you have a bootable diskette
BOOT.SYS - 21 - Version 2.00
and some experience patching files, you should have little
problem changing the names that DOS uses for the configuration
files.
The advantage of making the patch is that installation programs
won't bother your installation files because they won't find a
CONFIG.SYS or AUTOEXEC.BAT file on your disk. The disadvantage
is that if you use the FORMAT /S command, the patched versions of
these files will be moved to the floppy diskette, so you'll have
to continue to use your new names for the configuration files on
the diskette.
BOOT.SYS - 22 - Version 2.00
Working with DOS
BOOT.SYS and its companion programs work with all versions of
MS/PC-DOS from 2.11 to 6.0 and DR DOS 5.0 and 6.0. In general,
once you have learned BOOT.SYS, you can use it with very few
changes regardless of the DOS version that happens to be
installed on your computer. If you wish to share a CONFIG.SYS
file among different DOS versions you may have to use BOOT.IF to
adjust to the differences between the various DOS versions.
The DOS= Command and Memory Managers
For most practical purposes, you can assume that DOS executes the
commands in your CONFIG.SYS file one at a time, as it reads them
from the file. However, the DOS= command, introduced in MS/PC-
DOS 5.0, is different. DOS scans through the entire file,
looking for DOS= commands, before it executes any device drivers,
including BOOT.SYS.
If you want to have the same DOS= settings in all of your
configurations, we suggest that you use the desired command
(including DOS=HIGH, DOS=LOW, DOS=UMB, and DOS=NOUMB and their
combinations) before the DEVICE=d:\path\BOOT.SYS command that
defines the beginning of the BOOT.SYS section of your CONFIG.SYS
file.
On the other hand, if you want to have different DOS= settings in
different configurations, you must follow a fairly rigid formula
to give BOOT.SYS control over the settings. Your CONFIG.SYS file
should look like this:
{global commands}
DEVICE=d:\path\BOOT.SYS
DOS=LOW
{everything else here}
DEVICE=BOOT.END
DOS=HIGH,NOUMB
{global commands, no DOS= commands!}
As DOS scans through CONFIG.SYS, later settings override earlier
ones, and it ends up with DOS=HIGH,NOUMB immediately below
BOOT.END. DOS=HIGH is required by BOOT.SYS, because it can force
DOS low if it's set to go high, but not the other way around;
DOS=NOUMB provides the usual default. No other DOS= commands
should follow this line. When BOOT.SYS runs, it sees the DOS=LOW
command immediately after the BOOT.SYS line in the global
section, and it takes this as the default, just like DOS.
BOOT.SYS - 23 - Version 2.00
Within this framework, all you do is add DOS=HIGH and/or DOS=UMB
commands to those configurations that need them.
BOOT.SYS cannot control the DOS= settings if you install your
memory manager before BOOT.SYS or after BOOT.END. If you are
going to use the same memory manager for all configurations, put
the correct DEVICE= command on the line immediately after DOS=LOW
in the template above. If you want to use a different memory
manager or different settings, you can add the correct memory
manager command to each of your configurations.
The versions of HIMEM.SYS delivered with DOS 5, DOS 6, and
Windows 3.1 are designed to load part of themselves into the HMA
or High Memory Area when DOS=HIGH is active. Unfortunately, they
grow considerably (to about 33K instead of about 4K) when
BOOT.SYS is used to set DOS=LOW. This problem doesn't exist with
the version of HIMEM.SYS that was distributed with Windows 3.0,
nor with any of the third-party memory managers (like QEMM-386,
386MAX, etc.); if you need a memory manager for your DOS=LOW
configurations, we suggest you use one of these.
Using F5 and F8 under MS/PC-DOS 6.0
Pressing F8 early in the boot process under MS/PC-DOS 6.0 results
in single-step execution of CONFIG.SYS. DOS will ask whether to
execute each line. As explained above, DOS prescans the DOS=
command, and you will first get prompts for all the DOS= commands
in your entire CONFIG.SYS. Press 'Y' for all of them.
Another peculiarity is that you may get a second prompt for
loading BOOT.SYS after the commands for the configuration you
selected. Press 'Y' for this one as well.
If you have been using the DOS 6 multi-configuration feature, you
were able to press F5 or F8 when its menu appeared. These keys
still work with BOOT.SYS, but you have to press them before the
first BOOT.SYS menu.
The MS/PC-DOS 6.0 INCLUDE= Command
Do not use the INCLUDE= command between the BOOT.SYS and BOOT.END
lines. Similar to DOS=, all INCLUDE= commands are executed
before BOOT.SYS gets control. If you have two or more INCLUDE=
commands referring to the same configuration block, all but the
first are ignored. Unfortunately, BOOT.SYS cannot even detect
that situation.
However, BOOT.SYS gives you an even more powerful mechanism to
share commands among several configurations, as follows:
BOOT.SYS - 24 - Version 2.00
DEVICE=d:\path\BOOT.SYS
DEVICE=c:\dos\HIMEM.SYS
DEVICE=BOOT.TOP Just a test
DEVICE=BOOT.1 Don't load EMM386
DEVICE=BOOT.2 Load EMM386, use EMS
DEVICE=BOOT.SET EMM386=Y
DEVICE=BOOT.SET EMMPARM=RAM
DEVICE=BOOT.3 Load EMM386, no EMS
DEVICE=BOOT.SET EMM386=Y
DEVICE=BOOT.SET EMMPARM=NOEMS
DEVICE=BOOT.0 {this starts a common section}
DEVICE=BOOT.IF %EMM386%==Y
DEVICE=c:\dos\EMM386.EXE x=D000-D1FF %EMMPARM%
DEVICE=BOOT.SET EMMPARM=
DEVICE=BOOT.ENDIF
DEVICE=BOOT.END
The command loading HIMEM.SYS on the second line, and the
conditional (IF...ENDIF) block near the end are shared among all
configurations.
Whenever you need to share commands among several configurations,
this is an indication that nested menus might be more
appropriate:
DEVICE=d:\path\BOOT.SYS
DEVICE=c:\dos\HIMEM.SYS
DEVICE=BOOT.TOP Load EMM386?
DEVICE=BOOT.1 &No
DEVICE=BOOT.2 &Yes
DEVICE=BOOT.A
DEVICE=BOOT.TOP Use EMS memory?
DEVICE=BOOT.1 Yes, use &EMS
DEVICE=BOOT.SET EMMPARM=RAM
DEVICE=BOOT.2 &No
DEVICE=BOOT.SET EMMPARM=NOEMS
DEVICE=BOOT.Z
DEVICE=c:\dos\EMM386.EXE x=D000-D1FF %EMMPARM%
DEVICE=BOOT.SET EMMPARM=
DEVICE=BOOT.END
BOOT.SYS - 25 - Version 2.00
Here, no conditional block is required, because the EMM386.EXE
line is part of what's executed when you select item #2 on the
main menu.
See Common Sections on page 48 for a complete list of where you
can place commands that should be shared among several
configurations.
Running MemMaker, Optimize, Maximize, etc.
Every 386 memory manager comes with its own optimize program that
claims to set up your system in the most efficient way.
Unfortunately, none of these programs is smart enough to
correctly handle a CONFIG.SYS file with BOOT.SYS installed.
If you need to run one of these programs, you must manually
extract the configuration that you wish to optimize, run the
program, and then manually reinsert the optimized configuration
into the BOOT.SYS multi-configuration framework.
DR DOS
BOOT.SYS includes complete support for DR DOS, and it behaves
under DR DOS just as it does under MS/PC-DOS 6.0, with two
exceptions.
First, DR DOS does not translate the CONFIG.SYS file to upper
case before invoking BOOT.SYS. Therefore, you can use mixed-case
text and create mixed-case values for environment variables
without using the /Uc or /Uct command-line parameters (see page
29).
If you are sharing a CONFIG.SYS file between MS/PC-DOS and DR DOS
you can use the /Uc or /Uct parameters even with DR DOS and
BOOT.SYS will filter out the c and t characters.
Second, unlike MS/PC-DOS, DR DOS sets a low limit on the size of
the CONFIG.SYS file (8K bytes in DR DOS 6.0). If you exceed the
limit, it simply ignores the extra bytes and lines. If BOOT.SYS
warns you that your CONFIG.SYS file may be too long, try trimming
it down until you find a size that your version of DR DOS will
accept and process correctly.
DR DOS does not recognize the DOS= command. To help you to share
CONFIG.SYS files between MS/PC-DOS and DR DOS, BOOT.SYS
automatically removes all DOS= commands between the BOOT.SYS and
BOOT.END lines as well as the one right after BOOT.END.
BOOT.SYS - 26 - Version 2.00
BOOT.SYS Commands
BOOT.SYS
DEVICE=d:\path\BOOT.SYS [params]
This command marks the beginning of the section of your
CONFIG.SYS file that you want BOOT.SYS to control. The section
must be terminated with the command
DEVICE=BOOT.END
Everything before the BOOT.SYS line or after the BOOT.END line
will be handled normally by DOS and apply to all of your
configurations. All of your menus and other BOOT.SYS commands
must be included between these two lines.
You may use this command only once in your CONFIG.SYS file. The
drive letter and path are required unless BOOT.SYS is in the root
directory of your boot drive.
If you are using MS/PC-DOS 5.0 or later, see page 22 for details
about how to use the DOS= command with BOOT.SYS.
BOOT.SYS Parameters
The DEVICE=d:\path\BOOT.SYS command may be followed by one or
more parameters. Each parameter must begin with either a slash
[/], as shown, or with a hyphen [-]. BOOT.SYS evaluates the
parameters from left to right. If two parameters contradict each
other, BOOT.SYS will ignore the first one and use the second one.
The parameters on the DEVICE=d:\path\BOOT.SYS command line set
defaults for the entire BOOT.SYS session. You may also use these
parameters to set values for any specific menu by including them
on the DEVICE=BOOT.A to DEVICE=BOOT.Y line (see page 35).
/BW
Sets BOOT.SYS to use screen colors suitable for a black and white
or LCD display attached to a color video adapter (CGA, EGA, VGA,
etc.). Do not use this parameter if you have a monochrome video
adapter and display; use /MONO instead.
BOOT.SYS - 27 - Version 2.00
/Dc or /Dnn
Sets the default menu item. BOOT.SYS will display the menu with
the selection bar on the default item. If a time-out (see /T
below) is specified and no key is pressed before the end of the
time-out period, BOOT.SYS will act as if the default item had
been selected. If the /D parameter is not specified, BOOT.SYS
will place the selection bar on the first displayed menu item and
select that item at the end of the time-out period.
The c in the first form of this parameter is a quick key
character or an item number. It will select the same menu item
as pressing that key when the menu is displayed.
If c is a single digit which is not defined as a quick key,
BOOT.SYS uses item number c as displayed on the screen. /D3
selects the third item, /D0 the tenth, /D! the eleventh, etc.
(see page 12).
If c is neither a quick key nor a valid item number, /Dc (and /Tn
if specified) is ignored and the selection bar is placed on the
first menu item.
With the second form of this parameter (nn with two digits; for
example, /D05 or /D12), BOOT.SYS will count all menu items,
including BOOT.? items that are not displayed (see page 35), to
find the default item for the menu.
If nn is a BOOT.? line that is not displayed, BOOT.SYS will
ignore the /D and /T parameters.
/MN
Suppresses the display of item numbers in menus. This parameter
also disables the use of digit keys in menus, forcing the use of
quick keys or the selection bar.
/MN is a toggle. If you have multiple menus and you specify it
on the BOOT.SYS line, it turns off item numbers for all menus,
but you can turn them back on for a specific menu by including it
on that menu's BOOT.c (BOOT.A, BOOT.B, etc.) line.
/MONO
Instructs BOOT.SYS to use screen attributes suitable for
monochrome adapters and displays. Do not use this parameter if
you have a monochrome or LCD monitor attached to a color video
adapter; use /BW instead.
BOOT.SYS - 28 - Version 2.00
/N+ or /N-
Turns the NumLock key on (/N+) or off (/N-). This parameter
simplifies using the numeric keypad to make menu choices or to
move the selection bar.
/Tn or /T
Sets the time-out value in seconds. If the user does not press
any key within n seconds, BOOT.SYS continues execution with the
default menu item, which is set with the /Dc or /Dnn parameter
(if a default is not specified, BOOT.SYS selects the first item
displayed in the menu). Pressing any key within the specified
time disables the time-out. BOOT.SYS reacts to the key as
expected, so the user can move the cursor or make selections
before the time-out period ends just as if no time-out had been
specified.
A parameter of /T0 is valid. It tells BOOT.SYS to check if there
is a keystroke waiting in the keyboard type ahead buffer. If so,
that key is used to disable the time-out and possibly make a menu
selection. If no key is waiting in the type ahead buffer,
BOOT.SYS continues with the default selection immediately. Most
BIOS's accept key presses right after the initial beep during
boot up.
To disable the time-out, especially if you are using /T0, you can
* turn CapsLock on before BOOT.SYS starts,
* press any key that doesn't select a menu item (for example,
the space bar or CursorDown key) before BOOT.SYS starts, or
* hold down a Shift, Ctrl, or Alt key while BOOT.SYS starts.
If there is a frame around the menu (this is the default),
BOOT.SYS displays the number of seconds remaining in the time-out
period in the lower right corner of the frame.
If BOOT.SYS finds a BOOT.NXT file (see page 64), the /Tn and /D
parameters are ignored and there is no time-out. Unless you turn
on CapsLock before BOOT.SYS starts, or hold down a Shift, Ctrl,
or Alt key while BOOT.SYS starts, there will be no way to
interact with BOOT.SYS at all when it is processing a BOOT.NXT
file.
There is no time-out if the parameter /T is used without a
numeric value or if the /Tn parameter is omitted. The /T
parameter is most often used to disable the time-out for a
particular menu when a general time-out has been set on the
BOOT.SYS command line.
BOOT.SYS - 29 - Version 2.00
/Uc
Sets the character c as the shift character. If this parameter
is used, all alphabetic characters preceded by the specified
shift character will be displayed in upper case in
DEVICE=BOOT.TOP and DEVICE=BOOT.n lines. All other alphabetic
characters will be displayed in lower case.
There is no default value for the shift character. /U^ and /U~,
which set the shift character to a caret [^] or a tilde [~], are
good choices. To display the shift character itself, write it
twice (for example, [^^] or [~~]).
This parameter is necessary because MS-DOS and PC-DOS convert
everything in the CONFIG.SYS file to upper case before invoking
BOOT.SYS. Users of DR DOS do not need to use this parameter
because case is preserved in their CONFIG.SYS files. But they
may include it if they use the same configuration files for both
MS/PC-DOS and DR DOS; BOOT.SYS will remove the shift characters
before displaying text regardless of DOS version.
/Uct
Sets both a shift character c and a toggle character t. If this
parameter is used, each display line in a DEVICE=BOOT.TOP or
DEVICE=BOOT.n command begins in lower case. All alphabetic
characters between a pair of toggle characters, as well as those
between the toggle character and the end of the line, will be
displayed in upper case. Any alphabetic character following the
shift character will have its case changed. The toggle character
is analogous to the CapsLock key and the shift character is
analogous to the shift key on the keyboard.
For example, /U^| sets the caret [^] as the shift character and
the vertical bar [|] as the toggle character. After this
parameter is used, the line
one |two| ^three |fo^ur
will be displayed as
one TWO Three FOuR
To display either the shift character or the toggle character in
a line, write it twice.
This parameter is necessary because MS-DOS and PC-DOS convert
everything in the CONFIG.SYS file to upper case before invoking
BOOT.SYS. Users of DR DOS do not need to use this parameter
because case is preserved in their CONFIG.SYS files. But they
may include it if they use the same configuration files for both
BOOT.SYS - 30 - Version 2.00
MS/PC-DOS and DR DOS; BOOT.SYS will remove the shift and toggle
characters before displaying text regardless of DOS version.
/U
Forces BOOT.SYS to display all alphabetic characters in upper
case. Under MS-DOS and PC-DOS, which translate the entire
CONFIG.SYS file to upper case, this parameter tells BOOT.SYS that
there is no shift or toggle character and that everything should
be left unchanged. Under DR DOS, which does not translate
CONFIG.SYS to upper case, this parameter tells BOOT.SYS to
perform the translation to upper case.
BOOT.SYS Advanced Parameters
The following parameters are not needed for basic operation of
BOOT.SYS. However, they are useful if you want complete control
over menu screens and other advanced BOOT.SYS features. We
suggest that you learn to use the other features of BOOT.SYS
before you experiment with these.
/H
Forces BOOT.SYS to hide any menus for which a selection is made
before the menu is displayed. A prior selection can be made by
typing ahead of BOOT.SYS or by using the /T0 time-out parameter.
The /H parameter is ignored if BOOT.SYS finds a BOOT.NXT file
(see page 64).
If you use this parameter and /T0, you can set up BOOT.SYS so
that it doesn't display anything at all unless the time-out is
disabled (see page 28).
The shareware version of BOOT.SYS, however, will always display a
copyright message.
/La[,b[,c[,d]]]
Specifies the upper left corners of one or both of the two boxes
that BOOT.SYS displays on the screen. The upper box contains the
BOOT.TOP text; the lower box contains the menu items. The
parameters a, b, c, and d are one- or two-digit integers
separated by commas. The top left corner of the screen is row 1,
column 1.
a = row of text box
b = column of text box
c = row of menu items box
d = column of menu items box
The default value for all parameters is 0, which means that the
boxes are centered automatically by BOOT.SYS. You can use a
BOOT.SYS - 31 - Version 2.00
value of 0 for any parameter that you wish to leave unspecified.
Omitted parameters at the end of the list are automatically given
a value of 0.
/Mibf
Sets the colors and screen attributes for BOOT.SYS. /M is
followed by 3 characters, without any spaces or punctuation, for
each item that you wish to specify. If you wish to set multiple
items, concatenate the appropriate three-character strings
without any spaces.
The first character i in each three-character set selects a
screen item:
Character Screen Item
B background color
S shadow color
T text color for top box
U frame color for top box
O text color for menu items (menu options) box
P frame color for menu items (menu options) box
Q color for quick key in menu items
H color for highlighted text (selected menu item)
I color for quick key in highlighted
text (selected menu item)
The second and third characters select the background and
foreground colors for the selected item. On a color system, use
these values for the background b and foreground f:
Color Background Foreground
Normal Blinking Normal Bright
black 0 8 0 8
blue 1 9 1 9
green 2 A 2 A
cyan 3 B 3 B
red 4 C 4 C
magenta 5 D 5 D
brown 6 E 6 E
white 7 F 7 F
BOOT.SYS - 32 - Version 2.00
If you have a monochrome system, use the following values for b
and f:
Monochrome Attribute Background & Foreground
normal 07
high intensity 0F
underlined 02
high intensity 09
underlined
reverse video 70
We recommend that you avoid using an invisible background such as
black on black (/MB00) or blue on blue (/MB11). These colors may
prevent BOOT.SYS from displaying important error messages.
Instead, use the /MK parameter, below, to set the background
character to a space.
Some values have special meanings:
/MSbf (bf same as /MBbf) No Shadow
/MT00 No TOP box even if BOOT.TOP present
/MU00, /MP00 No border for top and options box
/MUbb, /MPbb (f same as b) No frame around the boxes
/MKhh or /MCc
Selects the character that BOOT.SYS will use to fill the
background areas of the screen. /MK must be followed by the two-
digit hexadecimal ASCII code of the desired character. /MK20,
for example, sets the background character to a space (ASCII 20
hex), effectively making it invisible: only the background color
will appear on the screen. Alternatively, you can use /MC,
followed by the desired character.
/ML
Changes blinking attributes to high intensity background colors.
This command is only effective with a VGA-compatible video
adapter. If you use /ML, the second (background) character of
the /Mibf command can select among 16 colors.
/M&c
In menu definitions, the quick key for each item is marked with a
preceding ampersand [&]. If you want to use the ampersand itself
as a quick key, you must define a new marking character with the
/M&c command. To do so, replace the cwith the desired
BOOT.SYS - 33 - Version 2.00
character. For example, to set the exclamation point [!] as the
quick key marker, you would use /M&!.
/P
Causes BOOT.SYS to display a menu identifier in the lower right
corner of the screen. This command is useful for setting up and
debugging a complex menu system.
/Xd:\path\filename.ext
Specifies the directory and file name that BOOT.SYS should use to
look for the BOOT.NXT file. If this file is found, it defines
menu choices that will be made automatically by BOOT.SYS. See
page 64 for more information about this file.
This parameter may only be used on the DEVICE=d:\path\BOOT.SYS
command line; unlike the other parameters, it cannot be set or
reset for an individual menu.
BOOT.1 to BOOT.20
DEVICE=BOOT.n text
The DEVICE=BOOT.n command marks the beginning of a menu item.
The n can be any number from 1 to 20, but menu items must be
numbered consecutively. To avoid renumbering, use the
DEVICE=BOOT.# command in place of this command (see below).
Everything that follows n is the text that will appear in the
menu. If you precede a character with an ampersand [&] , that
character will be used as a quick choice key for the menu item.
If you want an ampersand in the menu, include two together in the
text: [&&]. To use the ampersand as a quick key, you can choose
a different quick key indicator with the /M&c command line
parameter (see page 32).
If you assign digits as quick keys, they will override the item
numbers and may confuse the user. For example, if your fourth
item is "&386MAX," pressing either '3' or '4' selects that item.
To avoid this confusion, you can suppress the item numbers with
the /MN parameter (see page 27).
If you have the same quick key for more than one menu item,
pressing that key cycles through the matching items, and you have
to press the Enter key to select the one you want.
BOOT.SYS - 34 - Version 2.00
BOOT.0
DEVICE=BOOT.0
In each menu, the last item may be followed by DEVICE=BOOT.0 and
a list of CONFIG.SYS commands. If the menu is executed, all the
commands that follow DEVICE=BOOT.0 will also be executed.
This command is used to avoid repetitious CONFIG.SYS commands
that you want to attach to every choice in a menu. If you use
BOOT.0 in a submenu, however, remember that the commands will
only be executed if the menu is run. If the menu is a submenu to
an item that the user does not select, if it is inside a BOOT.IF
block with a false conditional expression, or if the user takes a
different path through your menu structure and avoids the menu,
the commands will not be executed.
See Common Sections on page 48 and the discussion of the MS/PC-
DOS 6.0 INCLUDE= Command on page 23 for related information.
BOOT.END
DEVICE=BOOT.END
This command is required to mark the end of the section of your
CONFIG.SYS file that BOOT.SYS controls. All BOOT.SYS commands
must be placed between the opening DEVICE=d:\path\BOOT.SYS
command and the closing DEVICE=BOOT.END command. All CONFIG.SYS
lines outside the BOOT.SYS block will be passed to DOS for normal
processing. (See page 22 for a discussion of the special
processing needed for the DOS= command.)
BOOT.#
DEVICE=BOOT.# text
This is the same as the DEVICE=BOOT.n command (above) except that
the numbering is managed by BOOT.SYS. If you edit menus
frequently, this feature will save you from renumbering them.
Even if you use this command, you are still limited to 20 choices
per menu. If you try to use more, BOOT.SYS displays an error
message and performs an "emergency recovery" (see page 74).
BOOT.SYS - 35 - Version 2.00
BOOT.?
DEVICE=BOOT.? conditional_expression # text
BOOT.? can hide or display a single menu item based on a
conditional expression. The text of the menu item must be
separated from the conditional expression by a number sign [#].
Like BOOT.#, above, a BOOT.? menu item automatically takes the
next higher menu number if it is displayed. Because the numbers
of the subsequent menu items must change depending on whether
this item is displayed, you must use BOOT.# (or BOOT.?) for all
items following BOOT.? in a menu.
If you want to use the /D parameter to specify a default item in
a menu that uses BOOT.?, either use the quick key to identify the
default or use a two-digit number (with a leading zero [0] if
necessary) to indicate the default menu item. To determine the
correct number, count all menu items including all BOOT.? lines.
BOOT.? is useful if you have more than one menu and you wish to
include some items depending on the selections the user has made
earlier. It can also be used to suppress certain items based on
the current hardware or software configuration. Examples:
DEVICE=BOOT.? %MEMMAN% == QEMM # ...
DEVICE=BOOT.? %USER% == JOE # ...
DEVICE=BOOT.? 386 # ...
DEVICE=BOOT.? EXIST d:\windows\win.com
You may have a total of 99 items per menu, but no more than 20
may be active or displayed at any one time. Otherwise, BOOT.SYS
displays an error message and performs an "emergency recovery"
(see page 74).
The conditional_expression follows the same format and allows the
same tests as that used in the BOOT.IF command (see page 38).
BOOT.A to BOOT.Y
DEVICE=BOOT.c [parameters]
The character c can be any letter between A and Y (but not Z).
This command introduces a menu or submenu. The first menu at any
menu level is introduced by BOOT.A, the next by BOOT.B, etc. The
group of menus must be terminated by the command DEVICE=BOOT.Z.
BOOT.SYS - 36 - Version 2.00
That is, for every DEVICE=BOOT.A you have in your CONFIG.SYS
file, there must be a corresponding DEVICE=BOOT.Z.
You may have a maximum of 25 menus (A through Y) at any menu
level. Also, BOOT.SYS can display a total of 25 menus during
boot-up. If you try to create more than 25 menus on a single
menu level, or if the user's path through your menu structure
displays more than 25 menus all together, BOOT.SYS will display
an error message and perform an emergency recovery (see page 74).
The following menu sequences are equivalent:
DEVICE=BOOT.A DEVICE=BOOT.A
{menu A} {menu A}
DEVICE=BOOT.B DEVICE=BOOT.Z
{menu B} DEVICE=BOOT.A
DEVICE=BOOT.Z {menu B}
DEVICE=BOOT.Z
The BOOT.c lines serve only to separate menus. The advantage of
using consecutive letters on the left is that it's easier to keep
track of which menu is which. If you use BOOT.B etc., BOOT.SYS
will verify that the letters are in sequence. The advantages of
the syntax on the right are that you can add or remove menus
without having to reassign the letters, and you can put one of
the menus in a sequence inside an IF/ELSE/ENDIF construct (see
page 38).
You can set a time-out, default value, and screen color for a
specific menu by using the parameters described under
DEVICE=d:\path\BOOT.SYS on page 26 on the BOOT.c line. You may
use any of the parameters for a menu except /X.
BOOT.Z
DEVICE=BOOT.Z
This command terminates a section of menus that begins with the
DEVICE=BOOT.A command. It is a required signal to BOOT.SYS that
a particular menu level is finished and that processing can
return to the next higher menu level, if there is one. You must
have a DEVICE=BOOT.Z command for every DEVICE=BOOT.A in your
CONFIG.SYS file.
DEVICE=BOOT.A can be preceded, and DEVICE=BOOT.Z can be followed,
by both CONFIG.SYS commands and BOOT.SYS commands (like BOOT.SET)
which will be executed in sequence. See Common Sections on page
48 for details.
BOOT.SYS - 37 - Version 2.00
BOOT.EDIT
DEVICE=BOOT.EDIT [/Tn] [text]
any executable CONFIG.SYS command
This command lets you edit any executable CONFIG.SYS line during
the boot up process. The line can contain a single enhanced
CONFIG.SYS command (see page 47).
When BOOT.SYS executes a DEVICE=BOOT.EDIT command, the command
following the BOOT.EDIT line appears in a box on the screen. The
user can edit everything to the right of the equal sign. The
keyword and equal sign are required but cannot be changed by the
user .
For example, if a menu item included the following two lines:
DEVICE=BOOT.EDIT
FILES=20
the user could edit the "20" but not the "FILES=" portion of the
line.
Under DR DOS, the user can edit the entire line.
The maximum length of the edited line is 250 characters.
However, if BOOT.SYS runs out of internal work space, it may
restrict the line length. If that happens, you can use the
DEVICE=BOOT.REM command (see page 44) to increase the amount of
internal space that BOOT.SYS has available.
A summary of the active editing keys appears on the screen while
the user is editing the line. If you would rather display your
own text, you can place it on the BOOT.EDIT line. You can
include multiple lines of text like this:
DEVICE=BOOT.EDIT You may experiment with different
DEVICE=BOOT.EDIT FILES= values (<Esc> to ignore):
FILES=20
You can include a time-out for BOOT.EDIT by using the /Tn
parameter before any explanatory text. If the user does not
begin to edit the line during the time-out period, BOOT.SYS will
leave the current line unchanged and continue execution just as
if the user had pressed the Enter key.
BOOT.SYS - 38 - Version 2.00
BOOT.IF
DEVICE=BOOT.IF conditional_expression
...
DEVICE=BOOT.ENDIF
This command allows conditional execution of enhanced CONFIG.SYS
commands (see page 47) and menus.
The full format of a BOOT.IF block is
DEVICE=BOOT.IF conditional_expression
...
DEVICE=BOOT.ELSEIF conditional_expression
...
DEVICE=BOOT.ELSE
...
DEVICE=BOOT.ENDIF
The closing BOOT.ENDIF line is required. The BOOT.ELSEIF (which
may be repeated) and BOOT.ELSE parts are optional.
The conditional expression may contain more than one condition.
Conditions can be combined with .AND. and .OR. and individual
conditions can be negated with .NOT.. In addition, to maintain
an analogy with the DOS batch language, the word NOT can be used
without enclosing periods immediately after BOOT.IF or
BOOT.ELSEIF, like this:
DEVICE=BOOT.IF NOT %MEMMAN% == EMM386
The line is evaluated from left to right with no order of
precedence. A .NOT. applies only to the condition that
immediately follows.
In a BOOT.IF ... BOOT.ENDIF block, you may place any number of
enhanced CONFIG.SYS commands (see page 47). You may also include
a single menu or a menu sequence. However, the menu or menu
sequence must be contained entirely within the
BOOT.IF ... BOOT.ENDIF block. Do not try to dynamically include
or exclude menu items with BOOT.IF; use BOOT.? for that purpose.
BOOT.IF blocks can be nested.
The allowable conditions are
string==string
The strings can be any combination of constants and variables
(created with BOOT.SET). Leading and trailing spaces are
ignored. If you wish to check for leading or trailing spaces,
BOOT.SYS - 39 - Version 2.00
put the strings inside quotation marks. The comparison is case-
insensitive.
Note: This is different than the string comparison in the DOS
BATch language, which is case-dependent.
EXIST filename
This condition is true if the specified filename exists. The
filename may include the standard DOS wildcards [*] and [?].
BOOT.SYS will handle empty diskette drives properly, returning a
false condition for any file on the drive. If you want to test
for the presence of a subdirectory or a disk even if it has no
files, you can use commands like
DEVICE=BOOT.IF EXIST d:\dirname\NUL
or
DEVICE=BOOT.IF EXIST a:\NUL
However, under DR DOS this test will always produce a true
result, regardless of whether the directory exists. (The same is
true for similar tests in the DR DOS BATch file language.)
VGA
This condition is true if a VGA-compatible video adapter is
installed.
EGA
This condition is true if an EGA-compatible video adapter is
installed. VGA adapters are accepted as EGA-compatible by this
test.
CGA
This condition is true if a CGA-compatible video adapter is
installed. VGA and EGA adapters are accepted as CGA-compatible
by this test.
EGA_ACTIVE
This condition is true if an EGA-compatible video adapter is
installed and active. This test is useful in a dual-display
computer system.
MONO
This condition is true if an MDA-compatible display card is
active. VGA and EGA adapters in monochrome mode are accepted as
MDA-compatible by this test, as are Hercules-compatible
monochrome adapters.
BOOT.SYS - 40 - Version 2.00
See BOOT.OPTION EXTMON (page 43) for a way to switch between
color and monochrome modes.
86
This condition is true if the computer is using at least an 8088
or 8086 CPU.
186
This condition is true if the computer is using at least an 80186
CPU.
286
This condition is true if the computer is using at least an 80286
CPU.
386
This condition is true if the computer is using at least a 386
CPU.
486
This condition is true if the computer is using at least a 486
CPU.
NEC
This condition is true if the computer is using an NEC V20 or V30
CPU. All of the above CPU tests are false for these processors.
87
This condition is true if an 8087 or higher numeric processor is
installed.
287
This condition is true if an 80287 or higher numeric processor is
installed.
387
This condition is true if an 80387 or higher numeric processor is
installed. It is also true for 486DX CPUs which have a built-in
numeric processor.
BOOT.SYS - 41 - Version 2.00
DOS n.mm
This condition is true if the computer is booting up under DOS
version n.mm (for example, 3.31) or higher.
DRDOS
This condition is true if the computer is booting up under DR
DOS.
TOSHIBA_DS4
This condition is only defined on Toshiba Laptops that can
connect to a DeskStation IV; it is true if the DeskStation IV is
connected.
TRUE or 1
This condition is always true.
FALSE or 0
This condition is always false.
BOOT.ELSEIF
DEVICE=BOOT.ELSEIF conditional_expression
The lines following this command will be executed if the
conditional expressions of the preceding BOOT.IF and BOOT.ELSEIF
commands are all false, and if the conditional expression in this
command is true. There is no limit to the number of BOOT.ELSEIF
commands that can be used in a BOOT.IF ... BOOT.ENDIF block.
BOOT.ELSE
DEVICE=BOOT.ELSE
This command begins the list of default items in a BOOT.IF block.
The lines following BOOT.ELSE will be executed if the conditional
expressions in the preceding BOOT.IF and BOOT.ELSEIF lines in the
same BOOT.IF block are all false.
BOOT.ENDIF
DEVICE=BOOT.ENDIF
See BOOT.IF on page 38.
BOOT.SYS - 42 - Version 2.00
BOOT.NAME
DEVICE=BOOT.NAME name
This command can only be used inside a menu item, after a
DEVICE=BOOT.n, a DEVICE=BOOT.#, or a DEVICE=BOOT.? command. The
name in this command, which must be a single word, establishes a
name for the menu item. That name is used by BOOT.SYS to make
automatic menu selections during a reboot to a specific
configuration. BOOT.SYS uses the name if it locates a BOOT.NXT
file when it begins processing your CONFIG.SYS file.
You may use more than one DEVICE=BOOT.NAME command inside a menu
choice, which will have the effect of selecting that menu choice
for various configuration names. If you have more than one menu,
you may use the same name in several menus, but only in one menu
item for each menu.
See page 64 for more information about using named configurations
during rebooting.
BOOT.OPTION
BOOT.OPTION FREE
DEVICE=BOOT.OPTION FREE
If this command is part of at least one menu item you select,
then BOOT.SYS will not remain resident as a device driver after
it has finished processing your CONFIG.SYS file. This command is
useful for compatibility testing or for creating a bare-bones DOS
configuration with as much free memory as possible. However,
BOOT.SYS typically uses less than 200 bytes of memory when it
remains resident, so this command is rarely needed.
Under MS/PC-DOS 6.0 and DR DOS, BOOT.SYS normally doesn't stay
resident, so this command is not needed.
Under earlier versions of DOS, if you use BOOT.OPTION FREE, the
environment variables you have set with DEVICE=BOOT.SET will be
discarded before DOS finishes processing your CONFIG.SYS file.
The BOOT.EXE program, which is normally run from AUTOEXEC.BAT,
will report that BOOT.SYS is not loaded and will return an
ERRORLEVEL of 255. There is no way to retrieve your CONFIG.SYS
menu choice(s) with BOOT.EXE if BOOT.OPTION FREE is used under
MS/PC-DOS 5.0 or earlier.
BOOT.SYS - 43 - Version 2.00
BOOT.OPTION EXTMON
DEVICE=BOOT.OPTION EXTMON type
This command switches the display to an external monitor on
laptop computers that are appropriately equipped.
WARNING: WE STRONGLY ADVISE THAT YOU HAVE A BOOTABLE DISKETTE
AVAILABLE BEFORE YOU TEST EXTMON ON YOUR COMPUTER. IF THE
COMMAND DOES NOT WORK PROPERLY, YOUR SCREEN MAY GO BLANK AND YOU
WILL HAVE NO WAY TO EDIT CONFIG.SYS UNTIL YOU REBOOT FROM A
FLOPPY DISKETTE.
If you use BOOT.SYS with a portable or laptop computer with an
external monitor, the menus will usually be displayed on the
laptop's built-in monitor, not on the external monitor.
BOOT.OPTION EXTMON tries to switch the BOOT.SYS display to the
external monitor. However, because there are no industry
standards for switching monitors (sometimes different,
undocumented techniques are needed for different computers from
the same manufacturer), this command may or may not work on your
particular machine.
If you use this command, you must specify the computer type. For
all Compaq portable and laptop computers, specify the type as
COMPAQ and write the command as
DEVICE=BOOT.OPTION EXTMON COMPAQ
For all other computers with an external color screen, use the
type COLOR.
Finally, for computers with an external monochrome screen,
specify the type as MONO.
Some laptop computers are smart enough to know whether or not
they are attached to an external monitor. If BOOT.SYS tries to
switch to an external monitor on such a machine when no external
monitor is attached, the computer will ignore the command and
continue to display everything on its internal monitor. If you
have such a machine, you can put the BOOT.OPTION EXTMON command
immediately after DEVICE=d:\path\BOOT.SYS and know that all text
and menus will appear on the correct screen.
On the other hand, if your portable or laptop is not smart enough
to sense whether an external monitor is in use, you will probably
want to use commands like this:
DEVICE=d:\path\BOOT.SYS
DEVICE=BOOT.A /D1 /T5
DEVICE=BOOT.TOP Which monitor do you want to use?
DEVICE=BOOT.1 Internal
BOOT.SYS - 44 - Version 2.00
DEVICE=BOOT.2 External
DEVICE=BOOT.OPTION EXTMON COLOR
DEVICE=BOOT.B {this is your first "real" menu}
{etc.}
BOOT.OPTION COLOR
DEVICE=BOOT.OPTION COLOR hh
This command sets the screen color for DOS to use after BOOT.SYS
ends. The color will stay in effect until it is changed by a
device driver's or TSR's installation message, a DOS CLS command
(perhaps issued in AUTOEXEC.BAT) or an application program. The
hh is a two-digit hexadecimal code. The first digit sets the
background color; the second digit sets the foreground color.
The possible color values are shown in the following chart:
Color Background Foreground
Normal Blinking Normal Bright
black 0 8 0 8
blue 1 9 1 9
green 2 A 2 A
cyan 3 B 3 B
red 4 C 4 C
magenta 5 D 5 D
brown 6 E 6 E
white 7 F 7 F
BOOT.REM
DEVICE=BOOT.REM text
This command is intended for use primarily with older versions of
DOS which do not accept a REM command in CONFIG.SYS to mark a
line as a remark. All text following the command is ignored and
discarded.
You can also use BOOT.REM to create additional working space if
BOOT.SYS runs out of working memory. If this happens, BOOT.SYS
will display an error message. To create more working memory,
follow BOOT.REM with dummy text or a line of spaces terminated
with a non-space character. The additional space can be used by
both the BOOT.SET and BOOT.EDIT commands. The BOOT.REM command
that creates the extra memory must precede the command that will
use that memory.
BOOT.SYS - 45 - Version 2.00
BOOT.RENAME
DEVICE=BOOT.RENAME oldname newname...
This command is used to rename files while booting up. In
general, you can do this from AUTOEXEC.BAT, but there are some
programs that force you to swap their files when BOOT.SYS runs,
such as a memory manager which automatically re-optimizes your
configuration when it detects any change (such as selecting a
different configuration with BOOT.SYS).
Wildcards are NOT supported and you have to spell out the full
path for both the original and new file names. No error checking
is done; if the original file doesn't exist or the rename
operation fails for any reason, no error message is generated. If
more than one new file name is given, BOOT.SYS tries to rename
the original file to each one in sequence, stopping after the
first successful attempt.
As an example, this is how you could switch between two different
Windows screen modes:
DEVICE=BOOT.5 Windows (high res)
DEVICE=BOOT.RENAME c:\win\system.ini c:\win\syslow.ini
c:\win\syshi.ini
DEVICE=BOOT.RENAME c:\win\syshi.ini c:\win\system.ini
DEVICE=BOOT.6 Windows (low res)
DEVICE=BOOT.RENAME c:\win\system.ini c:\win\syslow.ini
c:\win\syshi.ini
DEVICE=BOOT.RENAME c:\win\syslow.ini c:\win\system.ini
BOOT.SET and Enhanced Commands
DEVICE=BOOT.SET [param] variable=[text]
This command is similar to the DOS SET command. It creates
environment variables in the form variable=text. The variable
name is always stored in upper case letters. You can use either
the /U, /Uc, or /Uct parameter (see page 29) to control the case
of the text after the equal sign. The environment variables are
transferred to your DOS environment automatically under MS/PC-DOS
6.0 and DR DOS. If you use an earlier version of DOS, the
variables are transferred to the DOS environment with the command
BOOT SET, which should always be included in your AUTOEXEC.BAT
file (see page 60).
Variables created with BOOT.SET can be used in the portion of
your CONFIG.SYS file controlled by BOOT.SYS by enclosing the
variable name in percent signs (e.g., %variable%). BOOT.SYS will
BOOT.SYS - 46 - Version 2.00
substitute the text for the variable name before executing the
line.
You can use variables to simplify the commands in your CONFIG.SYS
file. For example, you might include the following line near the
top of the BOOT.SYS block:
DEVICE=BOOT.SET lh=c:\qemm\loadhi.sys
Later in the block, perhaps as part of a menu item, you could
then include the following line:
DEVICE=%lh% c:\dos\ansi.sys
BOOT.SYS will recognize %lh% as a variable and expand the line as
DEVICE=c:\qemm\loadhi.sys c:\dos\ansi.sys
before it's executed.
Due to the internal workings of MS-DOS and PC-DOS, it is not
possible to include a CONFIG.SYS command as part of the
variable's text. For example,
DEVICE=BOOT.SET ansi=device=c:\dos\ansi.sys
%ansi%
will generate an "Unrecognized command" error in all versions of
MS-DOS and PC-DOS. If you are using DR DOS, the second line will
be correctly expanded to
device=c:\dos\ansi.sys
If you want to remove a string from the environment and release
its space, use the BOOT.SET command without any text, like this:
DEVICE=BOOT.SET lh=
If you use MS/PC-DOS 6.0 or DR DOS, you can use SET instead of
DEVICE=BOOT.SET in CONFIG.SYS. Under these DOS versions,
BOOT.SYS internally translates DEVICE=BOOT.SET commands to SET
commands in order to store the variables in the DOS environment.
There are two important differences between DEVICE=BOOT.SET and
SET in these DOS versions:
* Variables defined with DEVICE=BOOT.SET can be used in
CONFIG.SYS as explained above, but they are translated to
upper case.
* Variables defined with SET retain their case, but they
cannot be used in CONFIG.SYS.
BOOT.SYS - 47 - Version 2.00
Earlier versions of MS/PC-DOS don't support the SET command in
CONFIG.SYS and you must use DEVICE=BOOT.SET. If you use one of
these versions, you can create up to about 2K bytes of variables.
BOOT.SYS will keep them resident until you reboot your computer,
and will add about 100 bytes of additional overhead.
Variables created with BOOT.SET can be used on the right side of
the equal sign [=] in all standard CONFIG.SYS commands. You can
also use variables in BOOT.SYS commands like BOOT.IF and BOOT.?
for testing conditions; in display commands like BOOT.TOP and
BOOT.# to create text dynamically; and in executable BOOT.SYS
commands like BOOT.SET, BOOT.OPTION, or BOOT.RENAME.
We have coined the term enhanced command to mean a standard DOS
CONFIG.SYS command with or without variables. More formally,
when the term enhanced command is used in this manual, it means
either of
* a standard DOS CONFIG.SYS command,
* a standard DOS CONFIG.SYS command with variables defined by
BOOT.SET. All references in the form %name% will be
replaced by the corresponding values; if %name% is not
defined it is simply removed, similar to the DOS BATch
language. To specify a percent sign [%], use two of them
[%%].
* an executable BOOT.SYS command, with or without variables.
* BOOT.EDIT followed by a single enhanced command.
BOOT.TOP
DEVICE=BOOT.TOP text
This command displays a single line of text in the top window.
You can use multiple BOOT.TOP commands to display more than one
line of text. The colors of the text are controlled by the
command line parameters set in the DEVICE=d:\path\BOOT.SYS line
or in the most recent DEVICE=BOOT.c menu line.
BOOT.SYS displays the text specified with DEVICE=BOOT.TOP in a
window or box and the menu in another window. If you don't use
DEVICE=BOOT.TOP to display explanatory text, only the menu window
will appear on the screen.
BOOT.SYS - 48 - Version 2.00
Common Sections
There are several places in a BOOT.SYS menu structure where
commands are shared among several menu items:
1. Commands above BOOT.SYS and below BOOT.END are global and
apply to all configurations. With many of the CONFIG.SYS
commands (such as FILES=, BUFFERS=, and other commands that
don't load programs, as well as SHELL=) you can set defaults
above the BOOT.SYS line and change these in some of the
configurations.
2. In simple menus:
DEVICE=d:\path\BOOT.SYS
{common}
DEVICE=BOOT.TOP ...
DEVICE=BOOT.1 ...
DEVICE=BOOT.2 ...
...
DEVICE=BOOT.0 {only needed if common commands below}
{common}
DEVICE=BOOT.END
3. In menu sequences:
DEVICE=d:\path\BOOT.SYS
{common}
DEVICE=BOOT.A
{common}
DEVICE=BOOT.TOP ...
DEVICE=BOOT.1 ...
DEVICE=BOOT.2 ...
...
DEVICE=BOOT.0 {only needed if common commands below}
{common}
DEVICE=BOOT.B
{common}
DEVICE=BOOT.TOP ...
DEVICE=BOOT.1 ...
DEVICE=BOOT.2 ...
...
DEVICE=BOOT.0 {only needed if common commands below}
{common}
...
DEVICE=BOOT.Z
{common}
DEVICE=BOOT.END
BOOT.SYS - 49 - Version 2.00
4. In submenus:
DEVICE=d:\path\BOOT.SYS
{common}
DEVICE=BOOT.TOP ...
DEVICE=BOOT.1 ...
{common within item 1}
DEVICE=BOOT.A
DEVICE=BOOT.TOP
DEVICE=BOOT.1
...
DEVICE=BOOT.Z
{common within item 1}
DEVICE=BOOT.2 ...
...
DEVICE=BOOT.0 {only needed if common commands below}
{common}
DEVICE=BOOT.END
In general, you can rely on BOOT.SYS behaving reasonably. If a
command does not belong to a menu item because it's above
BOOT.TOP, BOOT.1, or BOOT.A, or below BOOT.0 or BOOT.Z, BOOT.SYS
treats it as common among all menu items.
If you need to share commands among some menu items but not all,
you can use BOOT.IF as shown in the discussion of the MS/PC-DOS
6.0 INCLUDE= Command on page 23, or you may want to create a
submenu for these items.
BOOT.SYS - 50 - Version 2.00
Other CONFIG.SYS Commands
DEVICE=d:\path\PAUSE.SYS
DEVICE=d:\path\PAUSE.SYS [/Q] [param] [text]
This command is intended as a debugging aid for creating complex
or sophisticated menu systems. PAUSE.SYS is a stand-alone
program, so it can be used anywhere in your CONFIG.SYS file, not
just inside the BOOT.SYS block. If you use it inside the
BOOT.SYS block, it will not be executed until BOOT.SYS has
processed all of your menus and returned control to DOS.
In its simplest form, PAUSE.SYS is simply followed by any text
you wish. It will display the text on the screen and wait for
you to press a key to continue. By default, all text is
translated to lower case. To display a character in upper case,
precede it with a caret [^]. To display a caret, include two
carets in a row in the text.
All the command line parameters except /Q disable the wait for a
keystroke. If you want to use one and also pause for a key, call
PAUSE.SYS twice in succession. Except for /Q, parameters may not
be combined in a single command.
For a summary of the PAUSE.SYS syntax, type
TYPE d:\path\PAUSE.SYS
Available parameters:
/C
DEVICE=d:\path\PAUSE.SYS /C
This command clears the screen to the default colors (normally
white on black).
/E
DEVICE=d:\path\PAUSE.SYS /Eseq
This command generates an escape sequence that is sent to
ANSI.SYS or a compatible console driver. It assumes that the
driver has already been loaded. The /E sends the escape code
(ASCII 27); you must follow it immediately with any ANSI command
supported by the driver you use. Remember that upper case
BOOT.SYS - 51 - Version 2.00
letters must be preceded by a caret [^], e.g. /E[2^J to clear the
screen.
/O
DEVICE=d:\path\PAUSE.SYS /O text
This command displays text on the screen but does not wait for a
keystroke.
/P
DEVICE=d:\path\PAUSE.SYS /P
This command does a print screen, so you can generate a hard copy
of the current screen for study and debugging.
/Q
DEVICE=d:\path\PAUSE.SYS /Q [param] [text]
This parameter hides the PAUSE.SYS copyright message. It does
not disable the wait for a keystroke. It may be combined with
text or with any of the parameters above.
DEVICE=REM
This command, which is equivalent to DEVICE=BOOT.REM, is provided
only for compatibility with previous versions of BOOT.SYS.
Support for this command may be dropped in future versions of
BOOT.SYS, so it should no longer be used.
DEVICE=TOP text
This command, which is equivalent to DEVICE=BOOT.TOP, is provided
only for compatibility with previous versions of BOOT.SYS.
Support for this command may be dropped in future versions of
BOOT.SYS, so it should no longer be used.
BOOT.SYS - 52 - Version 2.00
BOOT.EXE Commands
BOOT [Command]
BOOT.SYS and its many commands work with DOS to process your
CONFIG.SYS file. But the task of creating a complete computer
configuration is not over until the instructions in your
AUTOEXEC.BAT file have also been executed. BOOT.EXE gives you
control over your AUTOEXEC.BAT; it also communicates with the
small memory-resident device driver that BOOT.SYS leaves in
memory with all versions of MS/PC-DOS prior to 6.0.
Under MS/PC-DOS 6.0 and DR DOS, BOOT.SYS uses an environment
variable that is also called BOOT.SYS to communicate with
BOOT.EXE. If you remove that variable from the environment,
BOOT.EXE will complain that BOOT.SYS is not installed.
BOOT.EXE is a normal executable program. Like many such
programs, it communicates with batch files by returning an exit
code or Errorlevel value. In general, BOOT.EXE returns an
Errorlevel of 0 to indicate success and an Errorlevel of 255 to
indicate a general failure. The meaning of other Errorlevels is
explained in the following command reference.
The primary task of BOOT.EXE under MS/PC-DOS up to 5.0 is to set
environment variables in the current parent environment, which
batch files (and other programs) can test and use. The parent
environment, in this sense, is the environment owned by the
program that executes BOOT.EXE. Normally, this is the
environment maintained by the command processor that is running
BOOT.EXE or the current batch file. In almost all cases, the
environment variables will appear where you expect and need them.
However, if you use BOOT.EXE to set environment variables after
you have "shelled to DOS" from an application program, or if you
use one batch file to start another by using COMMAND instead of
CALL, and then run BOOT.EXE in the second batch file, the
environment variables will not appear when you return to your
main batch file or to the DOS prompt.
!! If you are running under MS/PC-DOS 6.0 or DR DOS, BOOT.SYS
!!!! transfers the variables directly to the master environment, but
!!!! YOU MUST RUN THE FOLLOWING COMMAND AT THE BEGINNING OF
!! AUTOEXEC.BAT UNDER ALL VERSIONS OF DOS because it performs other
!! house keeping tasks as well:
!! d:\path\BOOT.EXE SET
BOOT.SYS - 53 - Version 2.00
Because BOOT.EXE is a standard executable file, it can be used
both in batch files and from the DOS command line. However, as
the descriptions of the commands suggest, some BOOT.EXE commands
are better suited to one use or the other.
Install does not add the BOOT.SYS directory to your PATH command.
You can do either of:
* Use the fully qualified name to call BOOT.EXE:
d:\path\BOOT [command]
* Copy BOOT.EXE to your utilities directory which is already
in the PATH.
* Add the BOOT.SYS drive/directory to the PATH command in your
AUTOEXEC.BAT file.
For better clarity we don't include "d:\path\" in the following
sections.
BOOT with no Command
BOOT
When BOOT.EXE is invoked with no command, it displays a list of
BOOT.SYS menu choices that the user made during boot-up. The
display might look something like this:
The user selected the following menu choices:
A1
B3
B3A1
This display means that during boot-up, the user selected item
one on the first menu, Menu A, and then item 3 on the second
menu, Menu B. The second choice led to a submenu (Menu B3A),
from which the user selected item 1.
This display is similar to what appears on the menu screens if
you use the /P parameter on the BOOT.SYS command line (see
page 33). With the /P parameter, you would see A, B, and B3A,
for the menus in this example.
BOOT CLEAR
BOOT CLEAR
This command erases the BOOT.SYS variables from the environment
and releases the environment space for other uses. These are the
BOOT.SYS - 54 - Version 2.00
variables that were defined in your CONFIG.SYS file and later
moved to the environment with the BOOT SET command. Using BOOT
CLEAR has the same effect as typing
SET var=
for each variable that was created with BOOT SET.
BOOT CLEAR does not work under MS/PC-DOS 6.0 and DR DOS.
BOOT COLD
BOOT COLD [[/Xd:\path\filename] name ... [/KEEP[?]]]
This command performs a cold boot, similar to pressing a hardware
reset switch or turning the computer's power switch off and then
on.
All the optional parameters are used for rebooting to the
specific configuration, name. See page 64 for details.
This command has been tested on a wide variety of hardware and
software, but it may not work on your specific computer. If it
does not work, you need to use whatever works to reboot your
system. To reboot into a specific configuration on such a
computer, you can create the BOOT.NXT file with a command like
ECHO name... [/KEEP[?]] >c:\BOOT.NXT
before rebooting.
BOOT Date or Time
BOOT element[=] [filename | yymmddhhmm[ss]]
This command evaluates the system clock, the time stamp on a
file, or a date and time string. It returns part of a date or
time as an Errorlevel and displays the result on the screen in a
format like YEAR=93.
If the optional equal sign [=] is present, an environment
variable is also created with the same name as the date or time
element (for example, YEAR=93 or MONTH=05).
By default, this command reads and returns information about the
system clock. If you include the optional filename, and if
BOOT.EXE can find the file, it uses the time stamp of the file
instead of the system clock.
If you include a date and time in the format yymmddhhmm or
yymmddhhmmss (year, month, day, hour, minute and second, each as
BOOT.SYS - 55 - Version 2.00
2 digits), that date and time are used instead of the system
clock. The year portion of the date and time string (yy) must be
between 80 (for 1980) and 37 (for 2037).
BOOT.EXE supports the following date and time commands:
TIME /?
Displays a summary of all BOOT date and time commands. No
Errorlevel is returned and no environment variable is created.
DAY (day of month)
The Errorlevel returned is the day of the month between 1 and 31.
If an environment variable is created, it is in the format
DAY=nn, with nn being a two-digit day of the month (01 to 31).
DOW (day of week)
The Errorlevel returned is the day of the week between 1 and 7,
with Monday = 1 and Sunday = 7. If an environment variable is
created, it is in the format DOW=n, with n being a one-digit
number between 1 and 7.
DOWN (day of week name)
The Errorlevel returned is the same as for DOW, above. If an
environment variable is created, it is in the format DOWN=ccc
with ccc being a three-letter abbreviation of the day name in
upper case letters (MON, TUE, etc.).
DOY (day of year)
The day of the year (1 to 366) is evaluated. The Errorlevel
returned is the last two digits of the day of the year. If an
environment variable is created, it is in the format DOY=nnn with
nnn being a three-digit number between 001 and 366.
DOYH (day of year hundreds' digit)
The day of the year (1 to 366) is evaluated. The Errorlevel
returned is the hundreds' digit of the result (0 to 3). If an
environment variable is created, it is in the format DOY=nnn with
nnn being a three-digit number between 001 and 366.
HOUR
The Errorlevel returned is the hour between 0 and 23. If an
environment variable is created, it is in the format HOUR=nn with
nn being a two-digit number between 00 and 23.
BOOT.SYS - 56 - Version 2.00
MINUTE
The Errorlevel returned is the minute between 0 and 59. If an
environment variable is created, it is in the format MINUTE=nn
with nn being a two-digit number between 00 and 59.
MONTH
The Errorlevel returned is the month between 1 and 12. If an
environment variable is created, it is in the format MONTH=nn
with nn being a two-digit number between 01 and 12.
MONTHN (month name)
The Errorlevel returned is the month between 1 and 12. If an
environment variable is created, it is in the format MONTHN=ccc
with ccc being a three-letter abbreviation of the month name in
upper case letters (JAN, FEB, etc.)
SECOND
The Errorlevel returned is the seconds between 0 and 59. If an
environment variable is created, it is in the format SECOND=nn
with nn being a two-digit number between 00 and 59.
TIME
Displays all date/time elements; the Errorlevel returned is 0.
If an environment variable is created, it is in the format
TIME=01-JAN-1993 12:30:00, DAY 001, FRI (5) OF WEEK 00.
This command is most useful for testing and debugging.
WEEK (week of the year)
The week of the year, between 0 and 53, is calculated. The first
Monday of the year begins week 1, and each succeeding week begins
on a Monday. Dates before the first Monday of the year are
reported as part of week 0. The Errorlevel returned is the week
of the year. If an environment variable is created, it is in the
format WEEK=nn with nn being a number between 00 and 53.
YEAR (two-digit year number)
The Errorlevel returned is the last two digits of the year (0 to
99). If an environment variable is created, it is in the format
YEAR=nn with nn being between 00 and 99.
YEAR3 (three-digit year number)
The Errorlevel returned is the year number minus 1900. For
example, the year 1993 is returned as 93; 2001 is returned as
BOOT.SYS - 57 - Version 2.00
101. The highest acceptable year is 2037, for which BOOT YEAR3
returns an Errorlevel of 137. If an environment variable is
created, it is in the format YEAR3=nnn with nnn between 000 and
137.
YEAR4 (four-digit year number)
The Errorlevel returned is the year number minus 1980. For
example, 1993 is returned as 13; 2001 is returned as 21. The
highest acceptable year is 2037, for which BOOT YEAR4 returns an
Errorlevel of 57. If an environment variable is created, it is
in the format YEAR4=nnnn with nnnn being the complete, four-digit
year number (1980 or later).
BOOT HELP
BOOT HELP
This command displays a list of the available BOOT.EXE commands.
BOOT OnceA...
BOOT frequency filename [/T] [/E] [m] [+n] [?[sy|n] text]
This group of commands let you execute a portion of a batch file
at specific intervals. They return Errorlevel values that can be
used to branch to different parts of a batch file or to select
batch file lines for execution.
These commands calculate the Errorlevel by comparing the system
clock with the time stamp of a file that you specify. You can
have them prompt the user when they determine that the requisite
time has elapsed. You can also set time-out and default values
for the prompt. The user's response or the default response is
also reported as Errorlevel values.
Whether these commands update the time stamp on the file used in
the Errorlevel calculation depends on both the elapsed time and
the user's response to the prompt, if any:
BOOT.SYS - 58 - Version 2.00
Action & User Response Errorlevel Update time
stamp?
Not Yet Triggered 0 no
Triggered, 'N' to prompt 1 no
Triggered, time-out to 'N' 2 no
Triggered, time-out to 'Y' 3 yes
Triggered, 'Y' to prompt 4 yes
Triggered, no prompt 4 yes
File not found, created 5 yes
File not found, cannot create 0
An Errorlevel of 3 or above means that the scheduled actions
should be performed. Errorlevels 1 and 2 mean that it is time to
perform the actions but the user declines to do so.
The details of these commands are discussed along with the
parameters below.
frequency
The frequency determines how often the action will be performed.
The acceptable frequencies are
OnceAYear
OnceAMonth
OnceAWeek
OnceADay
OnceAnHour
OnceAMinute
OnceASecond
The minimum resolution for OnceASecond is 2 seconds.
filename
This is the file that the command checks to determine whether the
scheduled activity should be performed. It is created
automatically if it does not exist. The file can be of any
length (including zero bytes) and can have any combination of the
read-only, hidden, or system attributes set. Even if the file is
marked read-only, the time stamp will be updated properly when
the activity is triggered.
BOOT.SYS - 59 - Version 2.00
You can use BOOT TOUCH /C to create a file with the desired
attributes (see page 61).
/T
This parameter is used to test the OnceA... commands. When you
use /T, the command tests whether the activity should be
performed and returns the appropriate Errorlevel. However, the
time stamp on the file is not updated.
/E
This parameter displays the Errorlevel on the screen. It can be
used alone or in combination with /T to test the operation of
these commands.
m and +n
These parameters are used to fine-tune the activity schedule.
Both are numbers that adjust when the activity will be triggered.
The units represented by each depend on the frequency parameter:
Frequency m +n units
OnceAYear month of year years
OnceAMonth day of month months
OnceAWeek day of week weeks
OnceADay hour of day days
OnceAnHour minute hours
OnceAMinute second minutes
OnceASecond (ignored) seconds
The m parameter is used to define when the frequency period
begins. For example, an m value of 10 used with OnceADay would
specify that days begin at 10:00 a.m. An m value of 15 used with
OnceAMonth would trigger the activity on or after the 15th of
each month.
The +n parameter (the leading plus sign [+] is mandatory) is used
to set a minimum time between activity triggers. For example, a
+n value of +2 used with OnceADay would specify that at least two
days must elapse between activities. A +n value of +10 used with
OnceAnHour would space activity triggers at least 10 hours apart.
If the +n parameter is not specified, a value of 0 is assumed.
BOOT.SYS - 60 - Version 2.00
The following table gives some examples of how m and +n work with
OnceADay. The file time stamp is shown at the top; the earliest
time of the next activity trigger appears in the table:
OnceADay Mon 08:00 Mon 14:00 Explanation
Parameters Time stamp Time stamp
(none) Tue 00:00 Tue 00:00 the next day
9 Mon 09:00 Tue 09:00 the next day (days
start at 09:00)
33 (24+9) Tue 09:00 Tue 09:00 the next day,
starting at 09:00.
+1 Tue 08:00 Tue 14:00 wait a day (24
hours)
9 +1 Tue 09:00 Wed 09:00 wait a day (days
start at 09:00)
33 +1 Wed 09:00 Wed 09:00 wait a day, same
as 33
? text
If the question mark parameter [?] is included at the end of the
command, the user will be prompted when the activity is
triggered. The prompt that will be used is the text which
follows the question mark. 'Y' and 'N' are the only allowed
responses to the prompt.
If you wish to include a time-out and default response, the
length of the time-out, in seconds, plus the default response
must follow the question mark immediately with no intervening
spaces. For example, to pause 5 seconds and then enter N as a
default response, you would use a statement similar to this in
your batch file:
BOOT OnceADay c:\oneday.trg ?5N prompt_text
BOOT SET
BOOT SET [/X[d:\path\filename]]
Under MS/PC-DOS up to 5.0, this command collects the environment
variables that were created during CONFIG.SYS processing and
places them in the DOS environment. It also performs other
house-keeping functions, and it MUST BE RUN IN AUTOEXEC.BAT WITH
ALL VERSIONS OF DOS to ensure that BOOT.SYS works as expected in
all cases!
BOOT.SYS - 61 - Version 2.00
Under MS/PC-DOS 6.0 and DR DOS, BOOT.SYS uses the SET command in
CONFIG.SYS to transfer the variables to the DOS environment and
does not store them in its own storage. Consequently, BOOT SET
cannot be used to restore environment variables that you have
removed.
BOOT.SYS needs to pass other information besides the variable
definitions to BOOT.EXE. If the driver doesn't stay resident,
this information is passed in a special environment variable that
is also called "BOOT.SYS." BOOT.EXE will complain that BOOT.SYS
has not been installed if it doesn't find the resident driver or
this environment variable.
If BOOT.SYS used a BOOT.NXT file to create a named configuration,
BOOT SET will search for and delete that file (or the file you
indicate with the /Xfilename parameter). See page 64 for more
information.
BOOT TOUCH
BOOT TOUCH [/Q] [/C [/1] [/R] [/H]]
[yymmddhhmm[ss] | /Fother_filename]
filename...
This command sets the time stamp, or "touches," one or more
files. It can also create the files if they don't exist. You
may use normal DOS wildcards [*] and [?] to specify groups of
files.
The optional parameters give BOOT TOUCH a great deal of
flexibility:
/C
Instructs BOOT TOUCH to create the specified file or files with
the indicated time stamp.
/1
This parameter can only be used with /C. It instructs BOOT TOUCH
to create one-byte files instead of zero-byte files with the
indicated time stamp. One-byte files can be copied with the DOS
COPY command; zero-byte files cannot.
/R
This parameter can only be used with /C. It instructs BOOT TOUCH
to mark the newly-created files with the read-only attribute.
BOOT.SYS - 62 - Version 2.00
/H
This parameter can only be used with /C. It instructs BOOT TOUCH
to mark the newly-created files with the hidden attribute.
/Q
Instructs BOOT TOUCH to continue execution quietly (without an
error message) when an error occurs. Normally, BOOT TOUCH
displays an error message, waits for a keystroke, and stops
processing when it encounters an error. BOOT TOUCH will report
an error if it cannot find a specified file when the /C parameter
is not used or if the file is already present when the /C
parameter is used. However, DOS errors such as "Access denied"
or "Sharing violation" cannot be bypassed with /Q.
yymmddhhmm[ss]
This is a date and time specified as the year, month, day, hour,
minutes, and seconds. Each must be a two-digit number and you
may not include any spaces or punctuation between them. The
seconds are optional. The year must be between 80 (for 1980) and
37 (for 2037).
If you specify this parameter, BOOT TOUCH will use the date and
time you specify, instead of the system clock, as the new time
stamp for the files it touches.
/Fother_filename
If you specify this parameter, BOOT TOUCH will read the time
stamp of the file you specify and use it, instead of the system
clock, as the new time stamp for the files it touches.
filename...
One or more files that you want the command to touch. You may
use standard DOS wildcards [*] and [?] to touch groups of files.
You must include the full path for each filename unless the files
are in the default directory. Do not use wildcards when you use
the /C parameter.
BOOT WARM
BOOT WARM [[/Xd:\path\filename] name ... [/KEEP[?]]]
This command performs a warm boot, similar to pressing the Ctrl,
Alt, and Del keys simultaneously.
The optional parameters are used for rebooting to the specific
configuration named name. See page 64 for details.
BOOT.SYS - 63 - Version 2.00
This command has been tested on a wide variety of hardware and
software, but it may not work on your specific computer. If it
does not work, try BOOT COLD.
BOOT.SYS - 64 - Version 2.00
Named Reboots
BOOT.EXE lets you reboot your computer from the command line or
inside a batch file with the BOOT COLD and BOOT WARM commands
(see pages 54 and 62). The first command is similar to turning
your computer off and back on or pressing a reset switch; the
second is similar to pressing Ctrl-Alt-Del.
Normally, either reboot command would lead you through the
BOOT.SYS menus in your CONFIG.SYS file. But you may know what
configuration you want and prefer to bypass the menus completely.
Both BOOT COLD and BOOT WARM let you name the reboot
configuration you want to use.
Naming Configurations
To use a named configuration, you must first name menu items in
the portion of your CONFIG.SYS file that BOOT.SYS controls. You
can attach names to menu items in two ways. If you use a simple
menu structure, you probably already have the command
DEVICE=BOOT.SET BOOT=name
in each configuration.
During a named reboot, BOOT.SYS will look for a name designated
this way in your first menu and its submenus. The search is
case-insensitive. If BOOT.SYS finds such a name, that will be
the configuration that it selects automatically during the
reboot. If the name is in a submenu, BOOT.SYS will make the
necessary choices to reach the submenu and then pick the
appropriate menu item.
For simple setups this method is usually sufficient, and you need
not read the remainder of this section. But if you have more
than one menu, you probably need more flexibility.
If BOOT.SYS doesn't find the name, it will then look for a line
in this format:
DEVICE=BOOT.NAME name
If it finds that name, it will select the menu choice that it is
attached to, again moving into submenus if necessary.
If you have more than one top-level menu, BOOT.SYS will move
through each, searching for the configuration name in each menu
BOOT.SYS - 65 - Version 2.00
and its submenus and making the appropriate choices
automatically. In each menu, it will first look for a
DEVICE=BOOT.SET BOOT=name
command and then a
DEVICE=BOOT.NAME name
command that matches the configuration that you have specified.
During this process, each menu will flash on the screen to show
you that BOOT.SYS is making the choices for you.
If BOOT.SYS fails to find the name in a menu or its submenus, it
will pause and wait for you to make the necessary menu
selections, ignoring any /T (time-out) parameter.
If you use the BOOT.NAME command to name configurations in your
CONFIG.SYS file, you can attach the same name to items in more
than one menu. You can also attach more than one name to any
individual menu choice. If you use the BOOT.NAME command, you
can create very sophisticated and complex named configurations.
However, you need to remember that BOOT.SYS first tries to find a
reboot configuration by looking for the simpler DEVICE=BOOT.SET
BOOT=name syntax. You should avoid using the same names for both
commands or avoid using "BOOT" as an environment variable name.
Selecting a Configuration
Once you have named configurations (by using either BOOT.SET
BOOT=, which is part of the standard set-up, or BOOT.NAME),
selecting one is simply a matter of using one of two commands:
BOOT COLD name
or
BOOT WARM name
In both commands, the name (or names, if you include more than
one) can be abbreviated by placing an asterisk [*] at the end of
the abbreviation. For example, a configuration called "windows"
could be abbreviated as "win*" or even "w*" and BOOT.SYS will
select the first configuration name that matches the
abbreviation. If you use an asterisk by itself as a
configuration name (i.e., "BOOT WARM *"), BOOT.SYS will select
the default item in the first menu. (See page 68 for a more
complete discussion of how BOOT.SYS processes the asterisk.)
If they are followed by any text at all, the reboot commands
create a file called BOOT.NXT in the root directory of the boot
drive (or the root directory of the default drive in DOS versions
BOOT.SYS - 66 - Version 2.00
prior to 4.0). The BOOT.NXT file contains everything on the
command line after BOOT WARM or BOOT COLD; that is, it contains
the configuration name or names plus any command-line parameters
you have included, except for the /X parameter.
You can create the BOOT.NXT file with a text editor, if you
prefer, or by using a command like one of these:
COPY CON c:\BOOT.NXT
and typing the configuration name and then pressing Ctrl-Z and
Enter, or
ECHO name > c:\BOOT.NXT
When the computer reboots, BOOT.SYS looks for the BOOT.NXT file
in the root directory of the boot drive. If the file exists,
BOOT.SYS uses the configuration name or names in the file instead
of presenting menus to the user. The menus still flash by on the
screen to remind you that BOOT.SYS is making selections for you;
there is no way to suppress the flash when BOOT.NXT is used.
When you use BOOT.SYS, one of the first commands in your
AUTOEXEC.BAT file will normally be BOOT SET (see page 60).
Besides copying variables into the environment and other house
keeping functions, BOOT SET checks whether any menu selections
were made based on a BOOT.NXT file. If so, BOOT SET will delete
the file so that you will see the normal menus the next time you
reboot.
You can disable BOOT.NXT processing by turning on CapsLock before
BOOT.SYS starts or by holding down any of the shift keys while
BOOT.SYS starts.
If BOOT.SYS finds the BOOT.NXT file but cannot match the first or
only configuration name with the first menu or its submenus, it
assumes that you created the file for some other purpose. In
such a case, it processes your menus normally and ignores the
BOOT.NXT file entirely. In addition, BOOT SET will not erase the
file because the name in it was not used to make automatic menu
selections. This also happens when you mistype the name in the
"BOOT WARM/COLD name" command!
Reboot Options
You can alter the action of BOOT SET during a named reboot by
using one of two options on the BOOT COLD and BOOT WARM command
line. If you follow the configuration name or names with /KEEP,
BOOT SET will not erase the BOOT.NXT file. The same named
configuration will be selected every time you boot your computer
(unless you use BOOT WARM or BOOT COLD plus a different name or
manually erase the BOOT.NXT file). On the other hand, if you
BOOT.SYS - 67 - Version 2.00
follow the name or names with /KEEP?, BOOT SET will ask whether
you wish to delete the BOOT.NXT file.
If you prefer, you can use a filename other than BOOT.NXT. To do
so, you need to alter three commands. First, the
DEVICE=d:\path\BOOT.SYS line in your CONFIG.SYS file must be
modified to include the name of the possible configuration file:
DEVICE=d:\path\BOOT.SYS /Xd:\path\filename [params]
Then, when you use BOOT WARM or BOOT COLD, you must add the name
of the file before the configuration name like this:
BOOT COLD /Xd:\path\filename name... [/KEEP[?]]
or
BOOT WARM /Xd:\path\filename name... [/KEEP[?]]
Finally, if you want BOOT SET in AUTOEXEC.BAT to search for and
erase the configuration name file, you must tell it what file to
look for like this:
d:\path\BOOT SET /Xd:\path\filename
Using Multiple Configuration Names
You may put more than one configuration name in a BOOT WARM or
BOOT COLD command. The reason for doing so is to make automatic
selections from more than one menu. For example, you may have
one top-level menu that selects a memory manager and a second
that selects DOS or Windows. Once your CONFIG.SYS file is
properly set up, you might then reboot with a command like
BOOT WARM himem windows
to select HIMEM.SYS as your memory manager and Windows as your
operating environment.
When the BOOT.NXT file contains more than one configuration name,
BOOT.SYS applies the first name in as many menus (and their
submenus) as possible. When it comes to a menu in which it
cannot use the first name, it looks in the BOOT.NXT file for
another name. If it can't find a second name, or if the second
name doesn't provide a match in the current menu, BOOT.SYS will
stop and wait for the user to continue manually.
If BOOT.SYS finds a second name, it applies it to the current
menu and as many succeeding menus as possible. If it comes to a
menu in which it cannot use the second name, it looks in the
BOOT.NXT file for a third configuration name and continues the
process.
BOOT.SYS - 68 - Version 2.00
BOOT.SYS applies the configuration names in the order that they
are listed in the BOOT.NXT file. If BOOT.SYS can not apply
either the current or the next configuration name at any time
during this process, it will stop to let the user continue
manually from the menu where the error occurred. It will use any
/D parameter settings to position the selection bar, but it will
disable all time-outs for the current menu and all following
menus.
There is one exception to the way BOOT.SYS processes names. If
you use an asterisk [*] alone for a configuration name (meaning
"select the default item"), the asterisk will be applied to only
one menu. BOOT.SYS will use the next configuration name (if
there is one) for the following menu or menus. This lets you put
an asterisk into the middle of a list of configuration names and
have BOOT.SYS use the names that follow the asterisk.
BOOT.SYS - 69 - Version 2.00
Advanced Topics
Nested Menus vs. Menu Sequences
BOOT.SYS supports two different kinds of menus. The more common
are hierarchical or nested menus: there is a main menu and some
of the selections lead on to one or more submenus that define the
main choice in detail. Let's illustrate this with an example:
DEVICE=d:\path\BOOT.SYS |
DEVICE=BOOT.1 DOS | DOS
DEVICE=BOOT.A | plain
DEVICE=BOOT.1 plain | EMM386
DEVICE=BOOT.2 EMM386 | QEMM
DEVICE=BOOT.3 QEMM | Windows
DEVICE=BOOT.Z |
DEVICE=BOOT.2 Windows |
DEVICE=BOOT.END
The main menu presents only two choices, DOS or Windows; if you
choose DOS, you get a submenu with either plain DOS, or DOS with
one of two memory managers.
Now imagine you want to select whether to load a network driver
or not. With hierarchical menus, you have several ways of doing
so, but you can't avoid duplication:
* Expand the main menu to four items, DOS or Windows, each
with or without the network, and duplicate the submenu for
the two DOS choices.
* Add a new main menu for the network question and duplicate
the entire menu tree for Yes and No.
* Add a submenu to each of plain, EMM386, QEMM, and Windows,
asking about the network.
None of these choices is attractive because duplication results
in additional complexity and makes your configuration files more
difficult to maintain as you add more options. The core of the
problem is that the operating environment and the network are
unrelated choices, but a hierarchical menu is based on a
relationship between the choices.
BOOT.SYS - 70 - Version 2.00
What you really need is a set of independent menus or a menu
sequence:
DEVICE=d:\path\BOOT.SYS
|
DEVICE=BOOT.A |
DEVICE=BOOT.1 load Network | Load Network
DEVICE=BOOT.2 no Network | Don't Load Network
|
DEVICE=BOOT.B | -----------------------
DEVICE=BOOT.1 DOS |
DEVICE=BOOT.A | DOS
DEVICE=BOOT.1 plain | plain
DEVICE=BOOT.2 EMM386 | EMM386
DEVICE=BOOT.3 QEMM | QEMM
DEVICE=BOOT.Z | Windows
DEVICE=BOOT.2 Windows |
|
DEVICE=BOOT.Z |
DEVICE=BOOT.END
Now we have a menu A for the network question and a menu B for
the operating environment. Item B1 in menu B happens to contain
a submenu, which we call B1A. These are the menu names you will
see in the lower right corner of the screen if you specify the /P
parameter on the BOOT.SYS command line (see page 33).
Note the similarity of syntax between submenus and menu
sequences: submenus are really just menu sequences (with only one
menu in this case) inside a menu item. You can combine nested
menus and menu sequences in any way you like. For example, you
could add a menu C to define a third unrelated aspect of your
configuration, a menu B1B to specify DOS=UMB or NOUMB, or a menu
A1A to select among different networks.
Instead of adding a submenu to A1, you might prefer to add more
menu items (A3, A4, etc.) to menu A. Only you know what works
best for you.
Using Variables and Conditionals in CONFIG.SYS
Let's look at the previous example once again and assume that we
cannot run the network software without a memory manager. That
is, there should be no "plain" choice in menu B when the user
selected to start the network in menu A:
BOOT.SYS - 71 - Version 2.00
DEVICE=d:\path\BOOT.SYS
DEVICE=BOOT.A
DEVICE=BOOT.1 load Network
DEVICE=BOOT.SET NET=Y
DEVICE=BOOT.2 no Network
DEVICE=BOOT.B
DEVICE=BOOT.1 DOS
DEVICE=BOOT.A
DEVICE=BOOT.? NOT %NET% == Y # plain
DEVICE=BOOT.# EMM386
DEVICE=BOOT.# QEMM
DEVICE=BOOT.Z
DEVICE=BOOT.2 Windows
DEVICE=BOOT.Z
DEVICE=BOOT.END
Here the "plain" choice is displayed only when the variable NET
does not have a value of Y.
Perhaps we always want to load the network driver into upper
memory, using the proper command for the chosen memory manager:
DEVICE=d:\path\BOOT.SYS
DEVICE=BOOT.A
DEVICE=BOOT.1 load Network
DEVICE=BOOT.SET NET=Y
DEVICE=BOOT.2 no Network
DEVICE=BOOT.B
DEVICE=BOOT.1 DOS
DEVICE=BOOT.A
DEVICE=BOOT.? NOT %NET% == Y # plain
DEVICE=BOOT.# EMM386
device=c:\dos\HIMEM.SYS
device=c:\dos\EMM386.EXE ram
dos=umb
DEVICE=BOOT.IF %NET% == Y
devicehigh=d:\net\wd8003.sys
DEVICE=BOOT.ENDIF
DEVICE=BOOT.# QEMM
device=c:\qemm\QEMM386.SYS
DEVICE=BOOT.IF %NET% == Y
device=c:\qemm\LOADHI.SYS d:\net\wd8003.sys
DEVICE=BOOT.ENDIF
DEVICE=BOOT.Z
DEVICE=BOOT.2 Windows
DEVICE=BOOT.Z
DEVICE=BOOT.END
BOOT.SYS - 72 - Version 2.00
DOS=NOUMB
If you want to avoid duplicating the command line for the network
driver, you can use another variable:
DEVICE=d:\path\BOOT.SYS
DEVICE=BOOT.A
DEVICE=BOOT.1 load Network
DEVICE=BOOT.SET NET=Y
DEVICE=BOOT.SET NETDRVR=d:\net\wd8003.sys {parameters...}
DEVICE=BOOT.2 no Network
DEVICE=BOOT.B
DEVICE=BOOT.1 DOS
DEVICE=BOOT.A
DEVICE=BOOT.? NOT %NET% == Y # plain
DEVICE=BOOT.# EMM386
device=c:\dos\HIMEM.SYS
device=c:\dos\EMM386.EXE ram
dos=umb
DEVICE=BOOT.IF %NET% == Y
devicehigh=%NETDRVR%
DEVICE=BOOT.ENDIF
DEVICE=BOOT.# QEMM
device=c:\qemm\QEMM386.SYS
DEVICE=BOOT.IF %NET% == Y
device=c:\qemm\LOADHI.SYS %NETDRVR%
DEVICE=BOOT.ENDIF
DEVICE=BOOT.Z
DEVICE=BOOT.SET NETDRVR=
DEVICE=BOOT.2 Windows
DEVICE=BOOT.Z
DEVICE=BOOT.END
DOS=NOUMB
Using BOOT.SYS to manage LAN workstations
If you are responsible for managing a number of PCs in an
enterprise, BOOT.SYS can help you to keep them running smoothly.
You may want to adopt some of these strategies:
* Create a single pair of configuration files to run on all
your PCs.
* Set up a few officially-supported standard configurations
and add some place holders. Tell your advanced users how
they can create their own configurations, if needed, and
tell them not to change the standard configurations.
BOOT.SYS - 73 - Version 2.00
* If you have dissimilar PCs, you can use commands like
"BOOT.IF 386" to customize the menus and commands for the
given hardware. Users of 80286 PCs won't need to answer
questions about 386 memory managers.
* With "BOOT.IF DOS x.yy" and "BOOT.IF DRDOS" you can adapt
one pair of configuration files to run under different DOS
versions. (Warning: DR DOS severely limits the size of
CONFIG.SYS!)
* You can further customize the configurations based on the
presence of certain files with "BOOT.IF EXIST filename."
The files can be application programs or even zero-byte
"flags" that identify different machines and users.
* Use "BOOT.EXE ONCEADAY" to schedule periodic activities for
you and your end users, such as daily backups.
Sample Files, New Ideas
To give you some more ideas, we have included sample files from
some of our users. They are located in the SAMPLES subdirectory
of the BOOT.SYS installation directory.
These files are intended to demonstrate different ways of using
BOOT.SYS in the real world, but you must adapt them to your own
system. They contain references to commercial software packages
which are not related to BOOT.SYS, and which you may not have.
The command line syntax used in the sample files may not be
correct for your system or your versions of other products.
If you have an interesting setup that you would like to share
with us, please send us your files and tell us explicitly if we
have your permission to include them in a future release of
BOOT.SYS. We reserve the right to edit your files, but we will
not remove your name if you decide to include it in a comment.
Please do not add a copyright notice or advertisement.
BOOT.SYS - 74 - Version 2.00
When Things Go Wrong
Once you have BOOT.SYS installed and your new CONFIG.SYS and
AUTOEXEC.BAT files correctly written for the configurations you
use, you will rarely, if ever, see a BOOT.SYS error message.
However, when you add a new configuration to your CONFIG.SYS
file, or change the menu structure, you may accidentally inject
errors that BOOT.SYS can not handle.
When BOOT.SYS finds an error in your CONFIG.SYS file such as a
misnumbered menu item or a misspelled command, it displays an
error message and then performs an EMERGENCY RECOVERY. BOOT.SYS
cannot know the safest options to choose from your various menus
when an error occurs, so it takes the most conservative approach
possible: it hides all lines from DEVICE=d:\path\BOOT.SYS to
DEVICE=BOOT.END from DOS. If BOOT.SYS controls only a portion of
your CONFIG.SYS file, the commands before and after the BOOT.SYS
section will be executed normally. If BOOT.SYS controls the
entire CONFIG.SYS, DOS will boot using its default configuration,
just as if no CONFIG.SYS file existed at all.
Once BOOT.SYS has reported an error and performed its Emergency
Recovery, you can edit your CONFIG.SYS file to correct the
problem and then reboot your computer.
There is a very good chance that your computer will be usable
after an Emergency Recovery, but no guarantee. You may need to
use your boot diskette -- please keep it current. However, you
will probably have to use your boot diskette less often with
BOOT.SYS, because you can safely experiment with configurations
(e.g. different settings for a memory manager). If one
configuration becomes unusable, you can simply reboot and choose
another configuration.
Error Messages and Cures
When BOOT.SYS detects a problem while it is processing your
CONFIG.SYS file, it will report one or more of the following
errors. Some errors will be just warnings and you can boot up
normally, others cause BOOT.SYS to perform its Emergency
Recovery, and some may occasionally force you to boot with your
emergency boot up diskette. In all cases, you should fix the
problem and reboot. Most error messages are self-explanatory and
are not documented here. The suggestions below will help you fix
some of the less obvious problems that BOOT.SYS may detect.
BOOT.SYS - 75 - Version 2.00
Error 1: No tabs allowed in CONFIG.SYS
Some text editors replace multiple spaces with tabs. Because of
the way that DOS pre-processes the CONFIG.SYS file, BOOT.SYS
cannot expand tabs properly. To fix the problem, set your editor
to save files without tabs.
Error 2: "Unrecognized command" messages
If you are using a version of DOS prior to 4.00, BOOT.SYS at
times may be unable to properly hide the commands that you do not
select. DOS will then generate an error message after BOOT.SYS
has finished processing the CONFIG.SYS file in memory.
You can cure this problem by giving BOOT.SYS additional
processing memory. To do so, insert some long remark lines in
the following format immediately after the
DEVICE=d:\path\BOOT.SYS command line:
DEVICE=BOOT.REM any text (make it long)
Error 3: Warning. This BOOT.SYS configuration defaults to DOS=UMB
If some of your configurations contain the DOS=UMB command, it
may "spill over" into other configurations that have neither
DOS=UMB nor DOS=NOUMB configurations. To avoid this, add the
following line at the end of your CONFIG.SYS file, after the
DEVICE=BOOT.END command:
DOS=NOUMB
This line will establish DOS=NOUMB as the default for all
configurations that don't contain a DOS=UMB command.
See page 22 for a discussion of the DOS= command.
Error 4: Cannot load DOS HIGH
See page 22 for a discussion of the DOS= command.
Error 5: Load your XMS driver between BOOT.SYS and BOOT.END
If you load an extended memory (XMS) driver like HIMEM.SYS, QEMM,
or 386MAX before the DEVICE=d:\path\BOOT.SYS command, BOOT.SYS
will be unable to control the DOS= settings. You can either load
the XMS driver in specific configurations or, if you always want
it loaded, put the line
DEVICE={your XMS driver}
immediately after the DEVICE=d:\path\BOOT.SYS command.
BOOT.SYS - 76 - Version 2.00
See page 22 for a discussion of the DOS= command.
Error 6: CONFIG.SYS may be too long.
Some versions of DR DOS, and perhaps some other DOS clones,
severely limit the size of CONFIG.SYS and discard any part of the
file that extends past the limit. If BOOT.SYS displays this
error message, try reducing your CONFIG.SYS file to one or two
configurations and work back up until you can determine the limit
and the number of lines that will fit in the file.
Error 7: Do not use an invisible background attribute.
BOOT.SYS displays some of its error messages on top of the menu
screen, so you can see how far it got building the current menu
and the error message at the same time. If you see this message,
a previous BOOT.SYS error message may have been hidden because of
your choice of a background color set the with the /Mbif
parameter (see page 31).
If you want a solid background, set the background character to a
space with the /MK20 parameter and then use /MBif to set
different foreground and background colors.
Error 8: Out of space.
BOOT.SYS needs some work space to process your CONFIG.SYS file.
If it runs out of space (perhaps because you are making heavy use
of variable expansion), it will not be able to continue. To
create more work space, insert some long remark lines in the
following format immediately after the DEVICE=d:\path\BOOT.SYS
command line:
DEVICE=BOOT.REM any text (make it long)
Do not use a standard REM command in place of the BOOT.REM
command, because BOOT.SYS is not able to reclaim space from a DOS
REM command.
Error 9: Warning. Variable space overrun.
BOOT.SYS does not have enough work space for passing on all the
variables you defined using DEVICE=BOOT.SET via the SET command
(see page 45). A small part of BOOT.SYS will stay resident to
store the remaining variables and BOOT SET in AUTOEXEC.BAT will
put them into the environment.
To avoid this situation, either delete some of the variables in
the common section preceding BOOT.END (see page 48), or add some
BOOT.REM commands as described for Error 8.
BOOT.SYS - 77 - Version 2.00
Error 10: Warning. Variable value starts with space.
You have a command like
DEVICE=BOOT.SET name= value
in your CONFIG.SYS file. Having a space (or tab) to the right of
the equal sign [=] can lead to problems; you should probably
remove it. If you really need the space there, you can disable
this message by appending the /W2 parameter to the
DEVICE=d:\path\BOOT.SYS
command line.
Error 11: Warning. Variable name ends with space.
You have a command like
DEVICE=BOOT.SET name =value
in your CONFIG.SYS file. Having a space (or tab) to the left of
the equal sign [=] usually leads to problems; please remove it.
If you absolutely need the space there, and you know what you're
doing, you can disable this message by adding the /W1 parameter
to the
DEVICE=d:\path\BOOT.SYS
command line.
Error 16: Due to a fatal error...
If you see this message, it is very unlikely that the boot
process can continue successfully. Insert a bootable diskette
into drive A, press Ctrl-Alt-Del to reboot the system, and edit
your CONFIG.SYS file to correct the problems reported in the
preceding error messages.
You may press any key to continue after this message, but you do
so at your own risk. You will probably get many additional error
messages and your computer may or may not be usable, depending on
the contents of your CONFIG.SYS and AUTOEXEC.BAT files. In some
circumstances, continuing the boot process may even corrupt the
data on your hard drive.
BOOT.SYS - 78 - Version 2.00
If You Can't Boot Up After Installation...
If the BOOT.SYS menu doesn't come up when you reboot, DOS can't
find the BOOT.SYS file. Make sure the drive and path in the
DEVICE=d:\path\BOOT.SYS
line are correct. If you load drivers or programs during the
boot process that add or remap drive letters, such as disk
compression or network software, you must place the BOOT.SYS
files in a location that is available when DOS tries to load
them.
Also, DOS may need to load BOOT.SYS a second time when the
DEVICE=BOOT.END
line is executed, and it will look in the same location. If your
drive letters change between the BOOT.SYS and BOOT.END lines, you
may have to put the BOOT.SYS files into directories with
identical names on two different drives. Under normal
conditions, you will not notice the second invocation of the
BOOT.SYS driver.
Another possible cause for not being able to boot up is that
BOOT.SYS displays an error message and is unable to continue.
Most error messages are self-explanatory; some of them are
explained in more detail in the preceding section. Correct the
problem and boot up again.
Manual Installation
If you cannot get BOOT.SYS up and running, try the following
procedure. Also, please try this procedure before you call for
support:
1. Create a single-configuration CONFIG.SYS and AUTOEXEC.BAT
and verify that you can boot up with them.
2. Add the following lines at the top of CONFIG.SYS:
DEVICE=d:\path\BOOT.SYS
DEVICE=BOOT.1 standard
DEVICE=BOOT.2 custom
DEVICE=BOOT.END
3. Reboot and verify that you get the BOOT.SYS menu. Either
choice should boot up your single configuration.
BOOT.SYS - 79 - Version 2.00
4. Move the last two of the four lines above to the end of
CONFIG.SYS and reboot; your Standard configuration should
still work, the other one may or may not work.
5. Copy of the lines between BOOT.1 and BOOT.2 and place them
between BOOT.2 and BOOT.END. Now you should have two
identical configurations (try it out!).
6. Make some changes that are easy to verify to your second
configuration and confirm that you can now choose between
two different configurations.
7. Add the DEVICE=BOOT.SET commands to CONFIG.SYS and set up
AUTOEXEC.BAT as explained on page 18.
8. Now add more configurations, one at a time, and try them out
until you have what you want.
If you still can't get BOOT.SYS to work correctly, see the README
file for your support options.
BOOT.SYS - 80 - Version 2.00
License and Warranty
Please see the file LICENSE.DOC.
BOOT.SYS - 12 - Version 2.00
The User's View
When BOOT.SYS is installed on a computer, the user typically sees
two text windows on the screen during the boot process. The
upper window contains messages or any text that you would like to
have displayed. The lower window contains a menu. Depending on
the BOOT.SYS instructions in the CONFIG.SYS file, several menus
may appear sequentially and some menu choices may lead to
submenus.
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░ ╔═════════════════════════════════╗ ░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░ ║ ║ ▒▒░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░ ║ Select Your Configuration ║ ▒▒░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░ ║ ║ ▒▒░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░ ╚═════════════════════════════════╝ ▒▒░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░ ╔═══════════════════════════════════════╗ ░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░ ║> 1 - Standard (4DOS, 386^MAX, Cache) <║ ▒▒░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░ ║ 2 - Standard + Network ║ ▒▒░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░ ║ 3 - Windows Enhanced ║ ▒▒░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░ ║ 4 - Windows Enhanced + CD-ROM ║ ▒▒░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░ ║ 5 - Host Connection ║ ▒▒░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░ ║ 6 - plain DOS ║ ▒▒░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░ ║ 7 - plain DOS, EMM386 ║ ▒▒░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░ ║ 8 - Backup ║ ▒▒░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░ ║ 9 - Experimental Configuration ║ ▒▒░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░ ╚═══════════════════════════════════════╝ ▒▒░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
BOOT.SYS - 2.00 Copyright (c) 1989-93 Hans Salvisberg. All rights reserved.
Sample BOOT.SYS screen
The user may select an item in several different ways. The most
intuitive selection method is moving the highlight or selection
bar to the desired item and pressing the Enter or CursorRight
key. New users often favor this method, but experienced users
prefer a quicker way of making a selection, especially once they
know what to expect from each menu.